【问题标题】:Check for a specific value in pandas dataframe column检查熊猫数据框列中的特定值
【发布时间】:2018-08-03 19:42:20
【问题描述】:

如果 B 的值为 1,我正在尝试检索 A 中的值。但下面的代码会引发错误“ValueError:系列的真值不明确。使用 a.empty, a.bool(), a.item()、a.any() 或 a.all()"

    A   B
0   a1  18
1   b1  25229
2   c2  2
3   d3  12
4   e4  1

代码:

for a,b in df7.iteritems():
  if (df7['b'] == 1):
    print (df7['a'])

【问题讨论】:

  • 试试df7.loc[df7.b.eq(1), 'A']?
  • df.loc[df.B==1,'A']
  • 你不会做for a,b in df7.iteritems():然后尝试引用df7['a']df7['b']的列,这将返回整个列。

标签: python pandas


【解决方案1】:

你可以使用一个简单的比较,比如

import pandas as pd

df = pd.DataFrame({'A': ['a1', 'b1', 'c2', 'd3', 'e4'], 'B': [18, 25229, 2, 12, 1]})
print(df[df['B'] == 1]['A'])

产量

4    e4
Name: A, dtype: object

【讨论】:

  • 我怎样才能得到 e4 而不是 '4'?
【解决方案2】:

另一个简单的代码是

df7[df7['b'] == 1]['a']

将给出 a 列的数据框,其中 b=1。

【讨论】:

    猜你喜欢
    • 2019-11-22
    • 1970-01-01
    • 1970-01-01
    • 2023-01-18
    • 2020-05-13
    • 2019-02-10
    • 2020-04-25
    • 2018-12-25
    • 1970-01-01
    相关资源
    最近更新 更多