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

如何用for循环匹配DataFrame索引值与元素值并替换列内容

解决DataFrame索引匹配替换问题

最优方案:用Pandas向量化操作(不推荐for循环)

Pandas原生向量化操作比for循环效率高得多,优先推荐这种方法:

  1. 先把wiki_adj的ind_num转为整数类型(匹配poss的整数索引),再将ind_num设为df的索引:
import pandas as pd

# 整理原wiki_adj的换行问题,确保代码可运行
wiki_adj = {
    'ind_num': ['11','20','25','27','35','41','42','48','49','51','54','56','60','61','62'],
    'designation': [
        'Illegal (Decriminalized)', 'Illegal (unenforced)', 'Illegal (unenforced)',
        'Illegal (unenforced)', 'Illegal (unenforced)', 'Legal', 'Legal',
        'Illegal', 'Illegal', 'Illegal (Decriminalized)', 'Illegal (Decriminalized)',
        'Illegal (unenforced)', 'Illegal', 'Illegal (Decriminalized)', 'Illegal (unenforced)'
    ]
}

df = pd.DataFrame(wiki_adj)
# 转换索引类型并设置为df的索引
df['ind_num'] = df['ind_num'].astype(int)
df.set_index('ind_num', inplace=True)

# 匹配索引并替换boss列
poss['boss'] = poss.index.map(df['designation'])

如果只想替换匹配到的行,保留未匹配行的原有值,可用update:

# 生成索引-职位的映射字典
designation_map = df['designation'].to_dict()
# 仅更新poss中存在匹配索引的boss值
poss['boss'].update(poss.index.map(designation_map))

你要的for循环实现方法

如果一定要用for循环遍历,代码如下:

import pandas as pd

# 整理wiki_adj数据
wiki_adj = {
    'ind_num': ['11','20','25','27','35','41','42','48','49','51','54','56','60','61','62'],
    'designation': [
        'Illegal (Decriminalized)', 'Illegal (unenforced)', 'Illegal (unenforced)',
        'Illegal (unenforced)', 'Illegal (unenforced)', 'Legal', 'Legal',
        'Illegal', 'Illegal', 'Illegal (Decriminalized)', 'Illegal (Decriminalized)',
        'Illegal (unenforced)', 'Illegal', 'Illegal (Decriminalized)', 'Illegal (unenforced)'
    ]
}

df = pd.DataFrame(wiki_adj)

# 遍历df的每一行
for idx, row in df.iterrows():
    # 将ind_num转为整数,匹配poss的索引类型
    ind_num = int(row['ind_num'])
    # 检查索引是否存在于poss中
    if ind_num in poss.index:
        # 替换对应行的boss值
        poss.loc[ind_num, 'boss'] = row['designation']

注:如果poss的索引是字符串类型,无需转换ind_num的类型,直接用row['ind_num']匹配即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 13:42:22