a = pd.DataFrame([[1,2], [3,4]], columns=[0,1])
b = pd.DataFrame([[5,6], [6,7]], columns=[1,0])
a[[0, 1]] = b
print(a)
导致
0 1
0 5 6
1 6 7
它不应该将
a
替换为b
中的同一列,从而导致: 0 1
0 6 5
1 7 6
这有点令人困惑
最佳答案
将DataFrame.loc
和:
用于选择所有行,将list
用作列名称:
a.loc[:, [0, 1]] = b
print(a)
0 1
0 6 5
1 7 6
要么:
cols = [0,1]
a[cols] = b[cols]
print(a)
0 1
0 6 5
1 7 6
关于python - 使用方括号的数据框设置值,不遵循传递的数据框的顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57142690/