11

我对 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 行?

感谢您的任何帮助和建议,

亚历克斯

4

2 回答 2

21

您可以测试哪些值为 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'
于 2013-07-02T11:50:22.390 回答
0

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

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

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

于 2022-02-04T09:14:03.550 回答