发布网友 发布时间: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)