我有两个按列连接的Pandas数据帧。左侧数据框键入为“旧”,右侧数据帧键入为“新”。每个数据框都有相同的列名,我想通过其中一个“新”列来进行sort_values。由于“旧”和“新”键,我似乎无法访问排序。有人有工作吗?感谢。
编辑#1 - 代码示例(想要在df_combined中按['New'] ['Col1']排序:
df1=pd.DataFrame({'Col1' : [1, 2, 3, 4], 'Col2' : [4, 4, 5, 6], 'Col3' : [11,
12, 13, 14]})
df2=pd.DataFrame({'Col1' : [7, 1, 51, 6], 'Col2' : [90, 99, 99, 97], 'Col3' :
[11, 12, 13, 14]})
df_combined=pd.concat([df1, df2], axis='columns', keys=['Old','New'])
答案 0 :(得分:1)
要对此数据帧进行排序,您必须使用元组进行列选择:
df_combined.sort_values(by=('New', 'Col1'))
输出:
Old New
Col1 Col2 Col3 Col1 Col2 Col3
1 2 4 12 1 99 12
3 4 6 14 6 97 14
0 1 4 11 7 90 11
2 3 5 13 51 99 13