如何使用Pandas的pad函数仅对DataFrame指定列执行填充操作
如何使用pandas的pad函数仅对DataFrame选中列执行填充操作
pandas中的pad是前向填充(用上一个非空值填充后续空值)的别名,要实现仅对指定列填充,直接筛选目标列调用pad方法后赋值回原数据集对应列即可,不会影响其余列的原有数据。
实现代码
import pandas as pd import numpy as np # 构造示例DataFrame df = pd.DataFrame([[2, np.nan, 0, 1],[np.nan, np.nan, 5, np.nan ],[np.nan,3,np.nan, 3]],columns=list('ABCD')) # 仅对A、D列执行pad填充,其余列保持不变 df[['A', 'D']] = df[['A', 'D']].pad() print(df)
输出结果
A B C D 0 2.0 NaN 0.0 1.0 1 2.0 NaN 5.0 1.0 2 2.0 3.0 NaN 3.0
补充说明
- 你也可以用等价写法
df[['A', 'D']] = df[['A', 'D']].ffill(),效果完全一致 - 如果需要保留原始数据,可以先复制DataFrame再操作:
new_df = df.copy(); new_df[['A', 'D']] = new_df[['A', 'D']].pad()
内容的提问来源于stack exchange,提问作者Prateek Daniels
相关产品推荐
相关产品推荐

