![](/img/trans.png)
[英]Writing check that all pandas DataFrame column values meet a certain values?
[英]Removing a column in a pandas dataframe if all the values are a certain string
我有以下 dataframe 称为 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']
或者,还有更好的方法?
利用
>>> df.loc[:, ~df.eq('-').all()]
key value1 value2
0 key1 value value
1 key2 value value
通过DataFrame.ne
比较不相等,然后在boolean indexing
中获取与DataFrame.any
匹配的所有列:
print (df.loc[:, df.ne('-').any()])
key value1 value2
0 key1 value value
1 key2 value value
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.