# 對於pandas資料框df如果須要依據主鍵文字欄位sentiment,
# 次鍵文字欄位text的長度進行紀錄排序,可參考如下寫法。
def sort_by_two_columns(x): # x 表示某列資料的排序欄位值
if x.name == 'sentiment': # 若詢問排序欄位為sentiment,回傳欄位值供排序
return x
elif x.name == 'text': # 若詢問排序欄位為text,回傳欄位長度值供排序
return x.str.len()
# 再依據次鍵文字欄位text的長度由小到大,
# 排序結果重新回傳一個新資料框
sort_df = df.sort_values(by=['sentiment', 'text'],
key=sort_by_two_columns, ascending=[True, True], inplace=False)
pd.set_option('min_rows', 100) # 資料框至少顯示100列
sorted_df = sort_df.drop_duplicates() # 去除重複記錄
沒有留言:
張貼留言