如何用day_mins列的函数填充DataFrame中day_charge列的NaN值?
填充DataFrame中day_charge列的NaN值
嘿,这个需求用Pandas就能轻松搞定!我给你分享几种实用的方法,你可以根据自己的习惯选:
方法一:使用fillna()直接填充
这是最简洁的方式,fillna()会自动保留非NaN的原有值,只把空值替换成计算结果:
import pandas as pd # 假设你的DataFrame名为df df['day_charge'] = df['day_charge'].fillna(df['day_mins'] * 0.17)
方法二:定位NaN行后赋值
这种方式更直观,先精准找到day_charge为空的行,再给这些行的该列赋值:
# 筛选出day_charge为NaN的行,然后赋值计算结果 df.loc[df['day_charge'].isna(), 'day_charge'] = df['day_mins'] * 0.17
方法三:使用where()条件替换
where()的逻辑是:当条件满足时保留原值,不满足时用指定值替换,这里我们用它来替换NaN:
df['day_charge'] = df['day_charge'].where(df['day_charge'].notna(), df['day_mins'] * 0.17)
这三种方法都能达到你要的效果,选哪种都可以~
内容的提问来源于stack exchange,提问作者The Dodo
相关产品推荐
相关产品推荐

