当前位置: 首页 > 面试题库 >

如何跨熊猫的多个数据框列“选择不同”?

乌和畅
2023-03-14
问题内容

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

SELECT DISTINCT col1, col2 FROM dataframe_table

pandas sql比较与无关distinct

.unique() 仅适用于单个列,因此我想我可以合并这些列,或将它们放在列表/元组中并进行比较,但这似乎是熊猫应该以更原生的方式进行的操作。

我是否缺少明显的东西,或者没有办法做到这一点?


问题答案:

您可以使用该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如果只想使用某些列来确定唯一性,则也可以提供关键字参数。请参阅文档字符串。



 类似资料:
  • 问题内容: 我有一个从csv文件构建的pandas中的数据框。数据框有几列,并由其中一列进行索引(这是唯一的,因为每一行都有用于该索引的该列的唯一值。) 如何基于应用于多个列的“复杂”过滤器选择数据框的行?我可以轻松地从列中大于10的数据框中选择切片,例如: 但是,如果我想要的东西就像一个过滤器:选择的切片,其中 任何 列都大于10? 或者,如果for的值大于10但值小于5? 这些如何在熊猫中实现

  • 问题内容: 要按单列过滤数据帧(df),如果我们考虑男性和女性的数据,则可以: 问题1-但是,如果数据跨越多年并且我只想看2014年的男性,该怎么办? 用其他语言,我可能会做类似的事情: (除了我要执行此操作,并在新的数据框对象中获取原始数据框的子集) 问题2。如何循环执行此操作,并为每个唯一的年份和性别集创建一个数据框对象(例如,2013-男,2013-女,2014-男和2014-女的df 问题

  • 问题内容: 看起来很丑: 不起作用: 是否存在上述“问题”的优雅且可行的解决方案? 问题答案: 使用isin

  • 问题内容: 有没有一种方法可以从Pandas的DataFrame中选择随机行。 在R中,使用汽车包装,有一个有用的功能,它类似于head,但在此示例中,从x中随机选择10行。 我也看过切片文档,似乎没有什么等效的。 现在使用版本20。有一个示例方法。 问题答案: 像这样吗 注: 由于熊猫v0.20.0的, 已被弃用,赞成基于标签索引。

  • 问题内容: 假设我有一个数据框如下 现在,我希望a和b列不同的行。所以预期的输出是 我怎样才能做到这一点? 问题答案: 我喜欢可读性,请使用: 输出:

  • 我有一个熊猫表,格式如下[df],由“noc”和“year”索引。我如何访问“noc,年份组合”并将“total_Medales”条目保存到列表中? 例如:我想在1992年(即21.5)中搜索ARG的“total_medals”,并将其保存到新列表中。