【发布时间】:2016-08-19 05:28:01
【问题描述】:
我有一个如下所示的数据框:
| id | col1 | col2 | col3 | col4 |
|------|------|------|------|------|
| 1 | A | B | C | 0 |
| 2 | M | 0 | M | 0 |
| 3 | B | B | 0 | B |
| 4 | X | 0 | Y | 0 |
我想忽略在各自的列中只有一个唯一值的任何行。我最终会这样:
| id | col1 | col2 | col3 | col4 |
|------|------|------|------|------|
| 1 | A | B | C | 0 |
| 4 | X | 0 | Y | 0 |
这是一件看似简单的事情。但我似乎找不到任何关于如何在 Pandas 中执行此操作的提示,因为人们似乎最感兴趣的是删除与其他行重复的行,而不是那些在行本身中只有重复值的行。
df = [ {'id' : 1, 'col1' : 'A', 'col2': 'B', 'col3': 'C', 'col4':'0'},
{'id' : 2, 'col1' : 'M', 'col2': '0', 'col3': 'M', 'col4':'0'},
{'id' : 3, 'col1' : 'B', 'col2': 'B', 'col3': '0', 'col4':'0'},
{'id' : 4, 'col1' : 'X', 'col2': '0', 'col3': 'Y', 'col4':'0'}
]
df = pd.DataFrame(df)
df = df[['col1', 'col2', 'col3', 'col4']]
df
小记:值'0'在我的例子中实际上是一个字符串。
此时所有行都至少有一个值。
【问题讨论】:
标签: pandas duplicates