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

如何从筛选后的DataFrame的food列提取纯字符串值?

问题:筛选DataFrame后提取food列的纯字符串值

现有如下DataFrame:

Studentfood
1R0100000
2R0200000
3R0300000
4R0400000

需求:筛选指定Student(例如Student=1)后,提取food列的纯字符串值,要求返回结果为"R0100000",无任何多余字符或空格。

创建该DataFrame的代码:

data={'Student':[1,2,3,4],'food':['R0100000', 'R0200000', 'R0300000', 'R0400000']}
df=pd.DataFrame(data)

尝试了以下代码但未得到预期结果:

df_new=df.loc[df['Student'] == 1]
df_new=df_new.food
df_str=str(df_new)

del df_new

问题原因

上述代码中,df_new=df_new.food得到的是一个Pandas的Series对象,直接转字符串会包含索引等额外信息,因此无法得到纯字符串值。

解决方案

以下几种方法都可以直接提取到目标纯字符串:

  1. 使用.iloc[0]定位第一个元素(最稳妥,即使筛选结果有多个元素也能取第一个):
target_str = df.loc[df['Student'] == 1, 'food'].iloc[0]
print(target_str)  # 输出:R0100000
  1. 使用.values[0]直接取数组中的第一个元素:
target_str = df.loc[df['Student'] == 1, 'food'].values[0]
  1. 使用.item()方法(仅当筛选结果只有一个元素时可用):
target_str = df.loc[df['Student'] == 1, 'food'].item()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 16:06:26