gpt4 book ai didi

python - 从数据框 Pandas 中获取单个值

转载 作者:行者123 更新时间:2023-11-28 21:38:21 26 4
gpt4 key购买 nike

我有一个数据框 A:

       's'   'S'   'T'
0 'abc' 'a' 12
1 'def' 'b' 15
2 'abc' 'b' 1.4

现在我想要 'T' 的值,其中 's' == 'abc' 和 'S' == 'b'

所以我尝试了:

  idx = (A['s'] == 'abc') & (A['S'] == 'b')

但我看到 .get_value() 已被贬低并且:

 number = A.at[idx,'T']

给出这个错误:

ValueError: At based indexing on an integer index can only have integer indexers

编辑:

 number = A.loc[idx, 'T']

返回一个数据框而不是值(整数或 float )

 print(number)

2 1.4
Name: T, dtype: float64

当这样做时:

 number2 = 1.3
if (number != number2):

我明白了:

  ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all(). 

最佳答案

过滤后你得到一个项目系列,所以选择第一个值是可能的使用iat:

number = A.loc[idx,'T'].iat[0]
print (number)
14

但如果掩码返回更多值,则得到:

print (A)
s S T
0 abc a 12
1 abc b 15
2 abc b 14

idx = (A['s'] == 'abc') & (A['S'] == 'b')
print (idx)
0 False
1 True
2 True
dtype: bool

number = A.loc[idx,'T']
print (number)
1 15
2 14
Name: T, dtype: int64

这里可以使用相同的方法 - 选择条件的第一个值:

number = A.loc[idx,'T'].iat[0]
print (number)
15

关于python - 从数据框 Pandas 中获取单个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48423159/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com