【问题标题】: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

【问题讨论】:

    标签: python pandas


    【解决方案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。

          【讨论】:

            猜你喜欢
            • 2021-11-14
            • 2020-08-20
            • 2017-02-08
            • 2016-07-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-02-05
            • 2017-05-30
            相关资源
            最近更新 更多