【问题标题】:Extracting all rows from pandas Dataframe that have certain value in a specific column从熊猫数据框中提取在特定列中具有特定值的所有行
【发布时间】:2013-06-29 17:42:16
【问题描述】:

我对 Python/Pandas 比较陌生,并且正在努力从 pd.Dataframe 中提取正确的数据。我实际上拥有的是一个包含 3 列的数据框:

data =

Position Letter Value
1        a      TRUE
2        f      FALSE
3        c      TRUE
4        d      TRUE
5        k      FALSE

我想要做的是将所有 TRUE 行放入一个新的 Dataframe 中,这样答案就是:

answer = 

Position Letter Value
1        a      TRUE
3        c      TRUE
4        d      TRUE

我知道您可以使用

访问特定列
data['Value']

但是如何提取所有 TRUE 行?

感谢您的帮助和建议,

亚历克斯

【问题讨论】:

标签: python pandas dataframe


【解决方案1】:

您可以将您的值包装在一个列表中并执行以下操作:

new_df = df.loc[df['yourColumnName'].isin(['your', 'list', 'items'])]

这将返回一个新的数据框,其中包含 您的列表项 与 df 中的 您的列名 匹配的行。

【讨论】:

    【解决方案2】:

    您可以测试哪些值是 True:

    In [11]: data['Value'] == True
    Out[11]:
    0     True
    1    False
    2     True
    3     True
    4    False
    Name: Value, dtype: bool
    

    然后使用花哨的索引来提取这些行:

    In [12]: data[data['Value'] == True]
    Out[12]:
       Position Letter Value
    0         1      a  True
    2         3      c  True
    3         4      d  True
    

    *注意:如果值实际上是字符串 'TRUE''FALSE'(它们可能不应该是!)然后使用:

    data['Value'] == 'TRUE'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-29
      • 2021-06-28
      • 2021-01-07
      • 1970-01-01
      • 1970-01-01
      • 2018-12-25
      • 1970-01-01
      • 2020-10-30
      相关资源
      最近更新 更多