当前位置: 首页 > 知识库问答 >
问题:

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

颜文昌
2023-03-14

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

d2 = df[(df['l_ext']==l_ext) & (df['item']==item) & (df['wn']==wn) & (df['wd']==1)]

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

val = d2['col_name']

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

共有3个答案

夏骏
2023-03-14

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

val = d2['col_name'].values[0]
屠泰平
2023-03-14

这些是标量的快速访问方法:

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
丁俊爽
2023-03-14

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

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
 类似资料:
  • 问题内容: 我构造了一个条件,可以从我的数据帧中准确提取一行: 现在,我想从特定列中获取一个值: 但是结果是我得到了一个包含一行和一列( 即 一个单元格)的数据框。这不是我所需要的。我需要一个值(一个浮点数)。我该怎么做在熊猫里? 问题答案: 如果您的DataFrame仅包含一行,则使用,作为Series访问第一行(唯一),然后使用列名访问值:

  • 我读了“如何从数据帧的单元格中获取值?”以及“如何选择数据框的最后一列”。我有点困惑,什么是2018年接受的方法从熊猫数据帧的单元格获取值,因为已被弃用,并且在上的留档有点稀疏。我想按标签选择行,按位置/整数选择列。下面我使用的方法是2018年公认的方法吗?我有这个代码: 它生成一个字符串如下所示: 通过函数将其转换为数据帧,如下所示: 它是行的最后一列的值(整数1),标签为,我对此感兴趣。这是2

  • 我构造了一个从数据帧中提取一行条件: 现在我想从一个特定列中取一个值:

  • 我能够得到最后一行的数据帧在熊猫用这行 如何获取此行中第一列的单元格?-我试过了 但它没有奏效

  • 我正在从我的数据框中查询一个值,它似乎是“dtype:object”。我只想按原样打印值,而不打印索引或其他信息。我该怎么做? 预期产出:b

  • 问题内容: 我想以一个简单的字符串来获取数值单元格的值。 假设单元格的类型是带有value的数字。现在我无法使用,因为它将引发异常。我也无法使用,因为它会使我退缩。 我想存储在类型为varchar2的db中,所以我只希望字符串中的值。 我无法更改单元格类型,因为它是最终用户的工作,我必须在代码本身中进行处理。 格式化程序也无法正常工作,因为xls … dd:mm,dd:mm:ss,公式等中可能存在