如何在单个Pandas DataFrame中用另一列指定内容替换目标列值?
解决方案
假设你的DataFrame变量名为df,右列的实际列名为Right_Column(请根据你的数据替换成真实列名),可以通过以下步骤实现需求:
- 使用Pandas的字符串拆分方法
str.split,以连字符-为分隔符对右列内容进行拆分,设置n=1确保只拆分一次(避免多连字符场景出错) - 提取拆分后的第一个元素,直接赋值给
Freedom Town列
基础代码示例
# 替换Freedom Town列为右列连字符前的内容 df['Freedom Town'] = df['Right_Column'].str.split('-', n=1).str[0]
兼容特殊场景的代码(可选)
如果右列存在空值或没有连字符的内容,可以用fillna保留原右列内容,避免出现缺失值:
# 处理空值或无连字符的情况,保留原内容 df['Freedom Town'] = df['Right_Column'].str.split('-', n=1).str[0].fillna(df['Right_Column'])
内容的提问来源于stack exchange,提问作者Vish
相关产品推荐
相关产品推荐

