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

如何在Pandas一对一DataFrame中根据一列值获取另一列字符串值?

解决方法

单次查询的简便写法

不用转字典,直接用布尔索引配合loc定位后提取单个值即可:

# 两种方式都能拿到目标字符串
df.loc[df['State'] == 'Alaska', 'Abbr'].iloc[0]
# 或者用.item()更直接
df.loc[df['State'] == 'Alaska', 'Abbr'].item()

loc用来定位符合条件的行和目标列,返回仅含一个元素的Series,iloc[0]或item()能直接取出这个元素,得到你需要的'AK'字符串。

多次查询推荐转字典

如果需要频繁根据State查询Abbr,转成字典是更高效的选择,一次构建后可无限次快速取值:

# 构建State到Abbr的映射字典
state_abbr_map = df.set_index('State')['Abbr'].to_dict()
# 直接通过键取值
state_abbr_map['Alaska']  # 返回'AK'

由于你的数据是一对一匹配的,这种映射不会有冲突,使用起来非常便捷。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 11:05:47