天天看點

python dataframe用sort_values()根據第一列的值排序

 dataframe根據第一列的值排序

打開檔案:

import pandas as pd
df = pd.read_csv('.\data\dict.txt',delimiter=' ',encoding='utf-8',header=None,nrows=5)
           

參數解析,第一個參數是檔案路徑,可以打開csv,txt等

delimiter:分隔符,不寫時預設是逗号,這裡是‘ ’,也可以用'\t'等等

encoding:編碼格式

header:是否有列名

nrows:取前n行出來,不設此參數預設全部取

按照第一列的列值進行排序:

df = df.sort_values(by=0,axis=0)
           

這裡因為沒有列名,直接用索引0排序,當然按其他列也可以,axis=0表示按列,同理axis=1表示按行

#不寫列名可以直接寫索引,源碼中給加中括号

python dataframe用sort_values()根據第一列的值排序

如果有列名也可以按列名:

df.columns = ["address", "label", "type"]
df = df.sort_values(by='address')
#或 df = df.address.sort_values()
           

有列名也可以寫成這樣:(就是先得到排完後的行索引),然後按重排後的索引重新排序

df.columns = ["address", "label", "type"]
my_index = df.address.sort_values().index
df = df.reindex(my_index)