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的相互转换