怎么知道网站开发语言,绍兴网站制作套餐,wordpress插件水印,丰城建设网站目录 1、按指定列的空值删除行2、滑动窗口按指定列的值填充最前面的缺失值 1、按指定列的空值删除行 数据准备#xff1a;
df pd.DataFrame({C1: [1, 2, 3, 4], C2: [A, np.NaN, C, D], C3: [V1, V2, V3, np.NaN]})
print(df.to_string())
C1 C2 C3
0 1 A V1
1 … 目录 1、按指定列的空值删除行2、滑动窗口按指定列的值填充最前面的缺失值 1、按指定列的空值删除行 数据准备
df pd.DataFrame({C1: [1, 2, 3, 4], C2: [A, np.NaN, C, D], C3: [V1, V2, V3, np.NaN]})
print(df.to_string())
C1 C2 C3
0 1 A V1
1 2 NaN V2
2 3 C V3
3 4 D NaN我们知道Pandas的dropna()方法可以删除包含空值或全为空值的行或列例如
# 删除包含空值的行
df_dropna df.dropna(howany)
print(df_dropna.to_string())
C1 C2 C3
0 1 A V1
2 3 C V3那么如何按指定列的空值删除行而不影响其他有空值的列的空值所在的行
# 删除指定列值为空的行例如删除C3列值为NaN的行
df.drop(df[df[C3].isna()].index, inplaceTrue)
print(df.to_string())
C1 C2 C3
0 1 A V1
1 2 NaN V2
2 3 C V32、滑动窗口按指定列的值填充最前面的缺失值 Pandas实现类似Hive的滑动窗口如下
# 按某列滑动前提DataFrame已经按照某列(如日期列、这里的C1列)升序排序
df[V3_last] df[C3].shift(1)
print(df.to_string())
C1 C2 C3 V3_last
0 1 A V1 None
1 2 NaN V2 V1
2 3 C V3 V2那么滑动后最前面的空值我们要想使用指定列的值填充应该怎么操作呢
# 平移后最前面的空值使用当前平移列C3列的值填充
df[V3_last_fillna] df[C3].shift(1).fillna(df[C3])
print(df.to_string())
C1 C2 C3 V3_last V3_last_fillna
0 1 A V1 None V1
1 2 NaN V2 V1 V1
2 3 C V3 V2 V2