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

如何基于条件将DataFrame中空字符串的col1赋值为col2的值?

如何将DataFrame中col1为空字符串的记录替换为对应col2的值?

你的代码无法正常运行主要有两个问题:

  • 当前写法会替换整行数据,而非仅更新col1列;
  • 列名col1需要用字符串引号包裹(df['col1']),否则会被当成未定义变量处理。

以下是几种正确的实现方式:

方法1:用loc精准定位更新(推荐)

df.loc[df['col1'] == '', 'col1'] = df['col2']

通过loc同时指定行筛选条件(df['col1'] == '')和目标列('col1'),仅修改符合条件的行的col1值,不会影响其他列数据。

方法2:用mask方法替换

df['col1'] = df['col1'].mask(df['col1'] == '', df['col2'])

mask方法会将满足条件的元素替换为指定值,这里就是把col1中的空字符串替换为对应行的col2值。

方法3:用where方法反向替换

df['col1'] = df['col1'].where(df['col1'] != '', df['col2'])

where方法会保留满足条件(df['col1'] != '')的元素,不满足条件的空字符串则替换为col2的值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 10:06:04