我有以下称为df的数据框。
有时看起来像这样(每个值都是唯一的)
key value1 value2 value3
0 key1 value value value
1 key2 value value value
有时的整个列value3
都用破折号填充:'-'
。
key value1 value2 value3
0 key1 value value -
1 key2 value value -
我想找到一个命令,如果该列中的所有项目都破折号,它将删除列value3。
我尝试使用df['value3'].any()
,并且返回'-'
。
是做我想要的正确方法吗?
if df['value3'].any() == '-':
df = df.drop['value3']
或者,还有更好的方法?
比较不等于by DataFrame.ne
,然后DataFrame.any
在in中获得所有具有match by的列boolean indexing
:
print (df.loc[:, df.ne('-').any()])
key value1 value2
0 key1 value value
1 key2 value value
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句