You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Pandas DataFrame中选取的单元格转为单个int值?

如何将Pandas选取的Series类型单元格值转为单个int并添加到列表?

你当前的问题是:通过df.loc筛选DataFrame得到的是单个元素的Series,直接添加到列表后会保留Series结构,而非单个int值。以下是几种可行的解决方法:

方法1:使用.values[0]提取底层数值

直接获取Series对应的numpy数组,再取第一个元素:

import pandas as pd

df = pd.DataFrame({"name": ['John', 'George', 'Ray'], "score": [123, 321, 112]})

x = df.loc[df['name']=='John', 'score'].values[0]
my_list = []
my_list.append(x)
print(my_list)  # 输出: [123]

方法2:使用.iloc[0]定位单个元素

利用位置索引直接取出Series的第一个(也是唯一一个)元素:

x = df.loc[df['name']=='John', 'score'].iloc[0]
my_list = []
my_list.append(x)
print(my_list)  # 输出: [123]

方法3:使用.item()提取标量值(推荐)

.item()是Pandas专为单个元素的Series/DataFrame设计的方法,直接返回对应标量值:

x = df.loc[df['name']=='John', 'score'].item()
my_list = []
my_list.append(x)
print(my_list)  # 输出: [123]

补充:你原代码的问题点

  1. x.astype(int)没有重新赋值给x,Pandas的方法默认返回新对象,不会修改原变量;
  2. 即使转换了类型,x仍然是Series,而非单个数值,需要进一步提取标量才能得到int值。

内容的提问来源于stack exchange,提问作者bluekit46

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 01:17:00