【问题标题】:How to filter and select multiple columns in pandas [duplicate]如何过滤和选择熊猫中的多列[重复]
【发布时间】:2020-02-14 16:17:04
【问题描述】:

我无法在 Pandas 中同时选择和过滤多个列。 'Name''Year of Rank' 是列名。谢谢!

dw[dw.Name=='El Toro' & dw['Name', 'Year of Rank']]

【问题讨论】:

  • 这实际上是您在阅读 pandas selecting 时学到的第一件事。在开始时尝试文档,这可能会很有帮助

标签: python-3.x pandas


【解决方案1】:

我相信这就是你想要的:

dw[dw['Name'] == 'El Toro'][['Name','Year of Rank']]

或者:

dw.loc[ dw['Name'] == 'El Toro', ['Name','Year of Rank']]

编辑: 正如 cmets 中所指出的,第二个更受欢迎,因为它将过滤和选择作为单个实体处理。

【讨论】:

  • 第一个不是recommended
  • 太棒了,是的,它工作了,但仍然不明白它是如何工作的。
  • 确实是@AlperAtakan,感谢您指出!
【解决方案2】:
import pandas as pd

dw = pd.DataFrame([
  {'Name': 'A', 'Year of Rank':1992, 'Rank': 1},
  {'Name': 'El Toro', 'Year of Rank':1993, 'Rank': 2},
  {'Name': 'C', 'Year of Rank':1994, 'Rank': 3}])

dw[dw.Name == 'El Toro'][['Name', 'Year of Rank']]

像这样?

下次您尝试提供更多上下文,例如虚拟数据框。

【讨论】:

    【解决方案3】:

    以下代码应该可以工作:

    dw[dw['Name'] == 'El Toro'][['Name','Year of Rank']]
    

    【讨论】:

      猜你喜欢
      • 2018-11-21
      • 1970-01-01
      • 2020-08-01
      • 2019-09-22
      • 2014-10-01
      • 2013-02-03
      • 1970-01-01
      • 1970-01-01
      • 2014-05-26
      相关资源
      最近更新 更多