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

如何用Pandas根据Flag列值替换SO2列为NaN并导出Excel

解决Pandas条件替换SO2值并导出Excel的问题

原始数据集

Date      Hour       SO2     Flag
22/05/2023  14:00     0.75      V
22/05/2023  15:00     0.79      M
22/05/2023  16:00     0.75      V
22/05/2023  17:00     0.79      V        
22/05/2023  18:00     0.65      Z

需求

当Flag列值为M或Z时,将对应SO2列的值替换为NaN,之后导出为xlsx文件。

解决方案

利用Pandas的loc方法结合条件判断实现,修改后的代码如下:

import numpy as np
import pandas as pd

# 读取目标Excel文件
xls = pd.read_excel('/content/data.xls', sheet_name='Horario')
# 保留你原有替换*为空的操作
data2 = xls.replace('*', '')

# 核心逻辑:定位Flag为M或Z的行,将对应SO2列设为NaN
data2.loc[data2['Flag'].isin(['M', 'Z']), 'SO2'] = np.nan

# 导出处理后的数据到新Excel文件
data2.to_excel('/content/fil2.xlsx', index=False)

关键说明

  • data2['Flag'].isin(['M', 'Z']):精准筛选出Flag列值为M或Z的行
  • loc[行筛选条件, 目标列名]:定位到符合条件的行与指定列,直接赋值为np.nan

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 19:38:21