Pandas 如果值只出现一次,则删除行
Pandas Drop Row if there's only one occurrence of a value
假设我们有 pandas table:
+-------+-------------------+
| Name | Dog |
+-------+-------------------+
| Alice | husky |
| Bob | husky |
| Chris | pom |
| Ferri | malamute |
| Bob2 | corgi |
| Dave2 | corgi |
+-------+-------------------+
我们如何删除只有一个“狗”条目的行?例如,这将是带有 pom、malamute.
的行
+-------+-------------------+
| Name | Dog |
+-------+-------------------+
| Alice | husky |
| Bob | husky |
| Bob2 | corgi |
| Dave2 | corgi |
+-------+-------------------+
谢谢!
is_multi = df["Dog"].value_counts() > 1
filtered = df[df["Dog"].isin(is_multi[is_multi].index)]
假设我们有 pandas table:
+-------+-------------------+
| Name | Dog |
+-------+-------------------+
| Alice | husky |
| Bob | husky |
| Chris | pom |
| Ferri | malamute |
| Bob2 | corgi |
| Dave2 | corgi |
+-------+-------------------+
我们如何删除只有一个“狗”条目的行?例如,这将是带有 pom、malamute.
的行+-------+-------------------+
| Name | Dog |
+-------+-------------------+
| Alice | husky |
| Bob | husky |
| Bob2 | corgi |
| Dave2 | corgi |
+-------+-------------------+
谢谢!
is_multi = df["Dog"].value_counts() > 1
filtered = df[df["Dog"].isin(is_multi[is_multi].index)]