排序两列
问题描述:
我需要根据数两列进行排序并键入排序两列
- 881 X
- 497Ÿ
- 2400 X
- 2559Ÿ
- 2556ž
- 1748 x
- 443 y
- 217ž
- 1024ÿ
当前代码段:
import pandas as pd
data1 = pd.read_csv('data/extracted.csv')
data2 = data1.sort(['Result7d'], ascending=True)
data2.to_csv('data/sorted.csv')
与这种类型的(X,Y,Z)被排序,然后如何使用熊猫,Python的排序个别类别?
预期结果:
- 881 X
- 1784 X
- 2400 X
- 433ý
- 497ž
- 1024×
- 2559ÿ
- 217ž
- 2556Ÿ
答
这可能会实现:
import pandas as pd
data1 = pd.read_csv('data/extracted.csv')
#data2 = data1.sort(['Result7d'], ascending=True)
# Use sort_values instead
data1['filenumber'] = data['file'].apply(lambda x: int(x.split('.')[0]))
data2 = data1.sort_values(by=['type', 'filenumber'])
del data2['filenumber']
data2.to_csv('data/sorted.csv')
需要用'数据2 = data1.sort_values([ 'Result7d', 'COL1'],升= TRUE)'? – jezrael
提示出错:AttributeError:'DataFrame'对象没有属性'sort_values' – Nayeem
然后使用一些老版本的熊猫,更好的升级。 – jezrael