2017-10-04 96 views
0

我需要根據數兩列進行排序並鍵入排序兩列

  1. 881 X
  2. 497Ÿ
  3. 2400 X
  4. 2559Ÿ
  5. 2556ž
  6. 1748 x
  7. 443 y
  8. 217ž
  9. 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的排序個別類別?

預期結果:

  1. 881 X
  2. 1784 X
  3. 2400 X
  4. 433ý
  5. 497ž
  6. 1024×
  7. 2559ÿ
  8. 217ž
  9. 2556Ÿ
+0

需要用'數據2 = data1.sort_values([ 'Result7d', 'COL1'],升= TRUE)'? – jezrael

+0

提示出錯:AttributeError:'DataFrame'對象沒有屬性'sort_values' – Nayeem

+0

然後使用一些老版本的熊貓,更好的升級。 – jezrael

回答

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

這兩列正在排序,但第一列再次根據起始編號進行排序,如1784,2400,881 ... – Nayeem

+0

您的第一列讀取爲字符串。將其轉換爲數字類型字段。 – ShreyasG

+0

我的文件擴展名也是在那個數字後面 – Nayeem