程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

pandas之sort_values排序不成功

編輯:Python

昨天在使用pandas的sort_values進行數據排序時,發現數據無法對其排序成功,詳細代碼如下:

import pandasas pd
import numpyas np
df= pd.DataFrame({
                                    'col1': ['A','A','B',np.nan,'D','C'],
                                     'col2': [2,1,9,8,7,4],
                                      'col3': [0,1,9,4,2,3],                    
                                   })
df.sort_values(by=['col1','col2'])
print(df)

數據打印結果並沒有按照要求排序,如下: 

為什麼沒有成功呢?

原因是在於inplace參數,默認的inplace設置時False,並沒有對本體進行覆蓋。

解決方法分兩種:

第一種:設置傳值覆蓋

df=df.sort_values(by=['col1','col2'])

第二種:設置本體覆蓋,即設置inplace=True

df.sort_values(by=['col1','col2'],inplace=True)

以上兩種均能成功,得到結果如下:

 


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved