python - 如何跨 Pandas 中的多个数据框列 "select distinct"?

标签 python pandas dataframe duplicates distinct

我正在寻找一种与 SQL 等效的方法

SELECT DISTINCT col1, col2 FROM dataframe_table

pandas sql 比较没有关于 distinct 的任何内容。

.unique() 仅适用于单个列,所以我想我可以连接这些列,或者将它们放在列表/元组中并以这种方式进行比较,但这似乎是 Pandas 应该做的以更本土的方式进行。

我是否遗漏了一些明显的东西,或者没有办法做到这一点?

最佳答案

您可以使用 drop_duplicates获取 DataFrame 中唯一行的方法:

In [29]: df = pd.DataFrame({'a':[1,2,1,2], 'b':[3,4,3,5]})

In [30]: df
Out[30]:
   a  b
0  1  3
1  2  4
2  1  3
3  2  5

In [32]: df.drop_duplicates()
Out[32]:
   a  b
0  1  3
1  2  4
3  2  5

如果您只想使用某些列来确定唯一性,您还可以提供 subset 关键字参数。见 docstring .

关于python - 如何跨 Pandas 中的多个数据框列 "select distinct"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30530663/

相关文章:

python - 如何将数据框中的 2 行连接到新数据框中的 1 行?

r - 如何将特定数据从一个数据帧添加到另一个更大的数据帧?

python - 使用 Pandas 与 MySQL 读取巨大的 CSV 文件

python - 根据条件重命名 Pandas 数据框的多列

python - 调整大小时,paint 方法不会绘制整个小部件

python - 如何使用keras定义模型架构?

python - 根据前 4 个字母从 Python 中的数组中删除重复项

python - Cumsum 每行 pandas 过去 12 个月的列值

python - 导出为 .csv 或 .xlsx 时如何翻译抓取文本的语言?

python - wxpython : button covers all in the frame