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

如何将DataFrame的id列中含nov:k_的值重命名为k?

实现方法

使用pandas的str.contains()匹配目标子串后批量赋值即可,核心代码如下:

# 匹配id列包含nov:k_的行,将对应id值替换为k
df.loc[df['id'].str.contains('nov:k_', na=False), 'id'] = 'k'

完整可运行示例

import pandas as pd

# 构造示例数据
df = pd.DataFrame({
    'id': ['4_french:k_15', '87_nov:k_82', '11_nov:k_10', '1_italian:k_11'],
    'value': [10, 82, 10, 9]
})

# 执行替换操作
df.loc[df['id'].str.contains('nov:k_', na=False), 'id'] = 'k'

# 输出验证结果
print(df)

运行后输出结果和预期完全一致:

id  value
0   4_french:k_15     10
1               k     82
2               k     10
3  1_italian:k_11      9

补充说明

添加na=False参数是为了避免id列存在空值时匹配逻辑报错,如果你的数据中id列无缺失值,可以省略该参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 01:15:06