如何从熊猫中的前一行复制缺失的列值[重复]

Posted

技术标签:

【中文标题】如何从熊猫中的前一行复制缺失的列值[重复]【英文标题】:How to copy missing column values from previous row in pandas [duplicate] 【发布时间】:2021-11-26 01:42:36 【问题描述】:

我有 csv 文件,其中包含缺失的列值,如何从上一行复制缺失的列值?

product_id,name,modifier
1,test,cheese
,test,eggs
,test,onions
2,test2,cheese
,test2,eggs
,test2,onions

高于 CSV 数据,低于输出

import pandas as pd
import numpy as np
df = pd.read_csv("pivot-products.csv")
df.pivot(index='product_id',columns='modifier') # <-- throws error

上面的数据透视代码可以很好地与下面的数据集一起工作,我在其中手动复制了它,如何在 pandas 中清理如下所示?

product_id,name,modifier
1,test,cheese
1,test,eggs
1,test,onions
2,test2,cheese
2,test2,eggs
2,test2,onions

【问题讨论】:

【参考方案1】:

尝试使用ffill。例如:

df = pd.read_csv("pivot-products.csv")
df["product_id"] = df["product_id"].ffill()

【讨论】:

【参考方案2】:

试试:

df['product_id'].ffill(inplace=True)

【讨论】:

【参考方案3】:

pandas.fillna

但要专门寻找method='ffill' 选项

【讨论】:

【参考方案4】:
df.fillna(mehtod='ffill').fillna(value)

您执行fillna 两次,因为“填充”将无法填充第一行中的 nan 值。您可以定义value

【讨论】:

以上是关于如何从熊猫中的前一行复制缺失的列值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何将熊猫系列的列值转换为Python中的列表?

如何按“熊猫”中的列获取缺失/NaN 数据的汇总计数?

如何按“熊猫”中的列获取缺失/NaN 数据的汇总计数?

如何根据作为值列表的列值扩展熊猫数据框[重复]

删除pandas数据帧中的重复项后,替换特定的列值

无法用所有列中的列值填充缺失值