Mar*_*k D 3 python sorting python-3.x pandas
我已经看到很多关于基于 Pandas 列名进行排序的建议,但我正在尝试基于列索引进行排序。
我已经包含了一些代码来演示我正在尝试做什么。
import pandas as pd
df = pd.DataFrame({
'col1' : ['A', 'A', 'B', 'D', 'C', 'D'],
'col2' : [2, 1, 9, 8, 7, 4],
'col3': [0, 1, 9, 4, 2, 3],
})
df2 = df.sort_values(by=['col2'])
Run Code Online (Sandbox Code Playgroud)
我想对第二列都有不同名称的许多数据框进行排序。根据 (by=['col2'] 进行排序是不切实际的,但我总是想对第二列(即列索引 1)进行排序。这可能吗?
按位置选择列名并传递给by
参数:
print (df.columns[1])
col2
df2 = df.sort_values(by=df.columns[1])
print (df2)
col1 col2 col3
1 A 1 1
0 A 2 0
5 D 4 3
4 C 7 2
3 D 8 4
2 B 9 9
Run Code Online (Sandbox Code Playgroud)