首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从数据帧的单元格中获取值?

如何从数据帧的单元格中获取值?
EN

Stack Overflow用户
提问于 2013-05-24 15:17:07
回答 15查看 1.6M关注 0票数 540

我构造了一个条件,从我的数据框中恰好提取一行:

代码语言:javascript
复制
d2 = df[(df['l_ext']==l_ext) & (df['item']==item) & (df['wn']==wn) & (df['wd']==1)]

现在我想从一个特定的列中获取一个值:

代码语言:javascript
复制
val = d2['col_name']

但结果是我得到了一个包含一行和一列(即一个单元格)的数据帧。这不是我需要的。我需要一个值(一个浮点数)。我怎么才能在熊猫身上做到这一点呢?

EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2013-05-24 15:31:10

如果您的DataFrame只有一行,则使用iloc将第一(唯一)行作为系列访问,然后使用列名访问该值:

代码语言:javascript
复制
In [3]: sub_df
Out[3]:
          A         B
2 -0.133653 -0.030854

In [4]: sub_df.iloc[0]
Out[4]:
A   -0.133653
B   -0.030854
Name: 2, dtype: float64

In [5]: sub_df.iloc[0]['A']
Out[5]: -0.13365288513107493
票数 649
EN

Stack Overflow用户

发布于 2013-05-24 20:58:24

这些是标量的快速访问

代码语言:javascript
复制
In [15]: df = pandas.DataFrame(numpy.random.randn(5,3),columns=list('ABC'))

In [16]: df
Out[16]: 
          A         B         C
0 -0.074172 -0.090626  0.038272
1 -0.128545  0.762088 -0.714816
2  0.201498 -0.734963  0.558397
3  1.563307 -1.186415  0.848246
4  0.205171  0.962514  0.037709

In [17]: df.iat[0,0]
Out[17]: -0.074171888537611502

In [18]: df.at[0,'A']
Out[18]: -0.074171888537611502
票数 310
EN

Stack Overflow用户

发布于 2018-06-26 04:03:40

您可以将1x1数据帧转换为numpy数组,然后访问该数组的第一个也是唯一一个值:

代码语言:javascript
复制
val = d2['col_name'].values[0]
票数 196
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16729574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档