[Python] Pandas之sort_values isin使用技巧
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
- 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