python中对二维数组最后一列排序

我现在面临的问题是,我用pandas从一个csv文件中读取一个dataframe,没有header。。文件中没有header
但是我想根据最后一列进行排序~

我查了说可以用pandas的sort_values,但是!!它需要列名,而我没有

df = df.sort_values(by=['列名'])

随后我查了numpy有没有相应的方法,找到了lexsort !!

# 按照最后一列升序排序
arr[np.lexsort(arr.T)]

# 按照最后一列降序排序
arr[np.lexsort(-arr.T)]

接下来就是numpy数组和Dataframe之间的互相转换了~

# numpy数组 ----> DataFrame
df = pd.DataFrame(df)

# DataFrame ----> numpy数组
df = df.values

参考来源:
【python】二维数组按照某行或某列排序(numpy lexsort)
Pandas中把dataframe和np.array的相互转换

posted @ 2022-04-17 11:31  二越  阅读(526)  评论(0编辑  收藏  举报