python dataframe sort_values排序问题?

发布网友 发布时间:2022-04-26 21:37

我来回答

2个回答

懂视网 时间:2022-04-18 21:30

1.在pandas的DataFrame中,我们经常需要根据某属性来选取指定条件的行,这时isin方法就特别有效。

import pandas as pd
df = pd.DataFrame([[1,2,3],[1,3,4],[2,4,3]],index = ['one','two','three'],columns = ['A','B','C'])
print df
# A B C
# one 1 2 3
# two 1 3 4
# three 2 4 3

这时假设我们选取A列中值为1的行,

mask = df['A'].isin([1]) #括号中必须为list
print mask
# one True
# two True
# three False
# Name: A, dtype: bool
print df[mask]
# A B C
# one 1 2 3
# two 1 3 4

2.pandas中的DataFrame如何按第一关键字,第二关键字对其进行排序,这里可以使用sort_values,老版本中为sort_index。

import pandas as pd
df = pd.DataFrame([[1,2,3],[2,3,4],[2,4,3],[1,3,7]],
   index = ['one','two','three','four'],columns = ['A','B','C'])
print df
# A B C
# one 1 2 3
# two 2 3 4
# three 2 4 3
# four 1 3 7
df.sort_values(by=['A','B'],ascending=[0,1],inplace=True)
print df
# A B C
# two 2 3 4
# three 2 4 3
# one 1 2 3
# four 1 3 7

【相关推荐】

1. 详解Python中的sort()使用方法

2. 详解Python中使用values()的实例教程

3. 分享python中sort的使用方法实例

热心网友 时间:2022-04-18 18:38

最后一个 Print写错了,你这个样输出的还是原来的 df。

要修改一下:

df_new = df.sort_values(by=['col2'], ascending=True)

print(df_new)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com