微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用条件索引获取单元格上的标量值

如何解决如何使用条件索引获取单元格上的标量值

首先,最好从中访问行索引和列索引.loc

x.loc[x['A'] == 2, 'B']

其次,您始终可以在.values序列或数据框上使用底层的numpy矩阵:

In : x.loc[x['A'] == 2, 'B'].values[0]
Out: 6

最后,如果您对原始问题的“条件索引”不感兴趣,则还可以使用特定的访问器来从DataFrame中获取单个标量值:dataframe.at[index, column]dataframe.iat[i, j](这些类似于.loc[].iloc[]设计用于快速访问单个值) 。

解决方法

我有如下所示的数据框。我需要获取列B的标量值,具体取决于A的值(这是我脚本中的变量)。我正在尝试loc()函数,但它返回的是Series而不是标量值。如何获得标量value()?

>>> x = pd.DataFrame({'A' : [0,1,2],'B' : [4,5,6]})
>>> x
   A  B
0  0  4
1  1  5
2  2  6

>>> x.loc[x['A'] == 2]['B']
2    6
Name: B,dtype: int64

>>> type(x.loc[x['A'] == 2]['B'])
<class 'pandas.core.series.Series'>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。