Pandas 数据填补:按列向上填补空值
使用 Pandas 按列向上填补空值
本文介绍使用 Pandas 库,遍历 DataFrame 的前 60 行和第 1 到 160 列,将空值由该列下一个不为空的值向上填补。如果该列没有不为空的值,则跳出循环。
示例代码:
import pandas as pd
# 读取数据
data = pd.read_csv('data.csv')
# 遍历第1列到160列
for col in range(1, 161):
# 遍历初始行到60行
for row in range(0, 60):
# 如果元素为空值
if pd.isnull(data.iloc[row, col]):
# 将所有空值由该列下一个不为空的值按列向上填补
for i in range(row+1, 61):
if not pd.isnull(data.iloc[i, col]):
data.iloc[row, col] = data.iloc[i, col]
break
# 如果该列已没有不为空的值,则跳出该列循环
if pd.isnull(data.iloc[row, col]):
break
# 输出结果
print(data)
注意事项:
- 此代码假设数据的第 1 行到 60 行都有值,否则可能会出现填补不完整的情况。
- 如果数据中有特殊字符或格式不规范的情况,可能需要对代码进行一些修改才能正确执行。
其他方法:
除了使用循环遍历的方式,还可以使用 Pandas 库提供的其他方法进行数据填补,例如 fillna() 方法。
相关链接:
原文地址: https://www.cveoy.top/t/topic/nDyP 著作权归作者所有。请勿转载和采集!