如何使用dropna()删除itme,它是< 1?

时间:2016-07-05 09:08:36

标签: python pandas

我有一个DataFrame如下:

mydf = pd.DataFrame({'Name1':(4.2, 0.3), 'Name2':(0.2, 4.2), 'Name3':(3.3, 5.5)}, index=('Val1', 'Val2'))

如何删除任何项目的值< 1?

2 个答案:

答案 0 :(得分:1)

这会选择所有元素都为>=1的列(其中任何元素的补码小于1):

mydf.ix[:, ~(mydf<1).any()]
Out[9]: 
      Name3
Val1    3.3
Val2    5.5

答案 1 :(得分:1)

使用dropna的另一个解决方案是:

df
Out[34]: 
      Name1  Name2  Name3
Val1    4.2    0.2    3.3
Val2    0.3    4.2    5.5

In [35]: df[df<1]=np.nan

In [36]: df
Out[36]: 
      Name1  Name2  Name3
Val1    4.2    NaN    3.3
Val2    NaN    4.2    5.5

In [37]: df.dropna(axis=1,how='any',inplace=True)

In [38]: df
Out[38]: 
      Name3
Val1    3.3
Val2    5.5