Python Pandas: 使用循环填充 DataFrame 中的空值
Python Pandas: 使用循环填充 DataFrame 中的空值
本示例演示如何使用 Python Pandas 库中的循环来填充 DataFrame 中的前 60 行和前 160 列的空值。代码使用循环遍历指定的单元格,如果发现空值,则从该列的下一个非空值向上填充。
import pandas as pd
def fill_missing_values(data):
for col in data.columns[:160]:
for row in range(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
return data
# 示例代码
data = pd.read_csv('data.csv')
filled_data = fill_missing_values(data)
print(filled_data)
代码解释:
fill_missing_values(data)函数:- 循环遍历 DataFrame 的前 160 列 (
data.columns[:160]): - 循环遍历每列的前 60 行 (
range(60)): - 使用
pd.isnull()检查当前单元格是否为空值。 - 如果单元格为空值,则从该列的下一行开始向下遍历 (
range(row+1, 61)), 直到找到第一个非空值,并将该值填充到空单元格中。
- 循环遍历 DataFrame 的前 160 列 (
- 示例代码:
- 使用
pd.read_csv()读取名为 'data.csv' 的文件。 - 调用
fill_missing_values()函数填充 DataFrame 中的空值。 - 使用
print()打印填充后的 DataFrame。
- 使用
注意:
- 此代码仅处理 DataFrame 中的前 60 行和前 160 列。
- 你可以根据需要修改代码中的行数和列数。
- 如果你需要填充整个 DataFrame,可以将循环的范围设置为 DataFrame 的总行数和列数。
- 此代码只处理向上填充。如果你需要向下填充,则需要修改代码逻辑。
原文地址: https://www.cveoy.top/t/topic/nDyJ 著作权归作者所有。请勿转载和采集!