根据Pandas Python类型对两列进行排序

时间:2017-10-04 11:46:32

标签: python pandas csv sorting pandas-groupby

我需要根据数量和类型

对两列进行排序
  1. 881 x
  2. 497 y
  3. 2400 x
  4. 2559 y
  5. 2556 z
  6. 1748 x
  7. 443 y
  8. 217 z
  9. 1024 y
  10. 当前代码段:

        import pandas as pd
        data1 = pd.read_csv('data/extracted.csv')
        data2 = data1.sort(['Result7d'], ascending=True)
        data2.to_csv('data/sorted.csv')
    

    对这个Type(x,y,z)进行排序,然后如何使用pandas对Python进行单独的类别排序?

    预期结果:

    1. 881 x
    2. 1784 x
    3. 2400 x
    4. 433 y
    5. 497 z
    6. 1024 x
    7. 2559 y
    8. 217 z
    9. 2556 y

1 个答案:

答案 0 :(得分:1)

这可能有效:

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')