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

如何用连续列表值替换DataFrame中特定行的Index值

解决方案

直接定位所有Index列值为'0'的行,按顺序替换为sessions_list中的元素即可,代码如下:

import pandas as pd

d = {
    'Index': ['0', '1', '0','1', '0', '1', '2','3'],
    'user_id': ['id11', 'id54', 'id544','id659', 'id18', 'id549', 'id59','id59'],
    'launchingRole': ['writer', 'writer', 'writer','writer', 'reader', 'reader', 'reader','reader']
}
df2 = pd.DataFrame(d)

sessions_list = ['id599', '08749', '489w']

# 获取所有Index为'0'的行索引
zero_positions = df2[df2['Index'] == '0'].index

# 按顺序替换对应位置的Index值
df2.loc[zero_positions, 'Index'] = sessions_list

# 输出结果
print(df2)

结果说明

执行后df2的Index列会变为:
['id599', '1', '08749', '1', '489w', '1', '2', '3'],完全符合需求。这种方法效率很高,即使处理大型DataFrame也能快速完成,因为是基于Pandas的向量化操作,避免了逐行遍历的开销。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 18:05:26