【问题标题】:How to fill missing dates in pandas DataFrame?如何在 pandas DataFrame 中填充缺失的日期?
【发布时间】:2017-10-31 07:30:25
【问题描述】:

MY DataFrame 包含每个日期的多个数据。在我的日期列中,日期仅输入了当天的第一个数据,对于当天的其余数据,只有稀疏值。如何用相应的日期填充所有未填充的日期值?

Following is the snippet of my data frame

【问题讨论】:

  • 请以纯文本形式提供数据,而不是图像。另外,您想要 python/pandas 解决方案、R 解决方案还是两者兼而有之?
  • 请不要发布代码或数据的图像。
  • 垃圾邮件标签用于 ????不酷。 “pandas”与 R 无关(我很友善,没有恶意提及与 python 相关的同类),

标签: python pandas


【解决方案1】:

在 Python 中

df['Date']=df['Date'].replace({'':np.nan}).ffill()

在R中

library(zoo)
df$Date[df$Date=='']=NA
df$Date=na.locf(df$Date)

【讨论】:

  • 谢谢文!它正在工作,我学到了一些我不知道的东西。请您详细说明代码给我!
  • @DharitParmar 这里R和Python基本上是一样的,把空格换成np.nan,ffillna.locf就是用前面的not null值来填充na
  • @温 明白了,谢谢!
【解决方案2】:

您可以使用 fillna 函数。

# Say df is your dataframe
# To fill values forward use:
df.fillna(method='ffill') 

# To fill values backward use:
df.fillna(method='bfill')

【讨论】:

    猜你喜欢
    • 2022-08-15
    • 1970-01-01
    • 2021-09-03
    • 2017-12-22
    • 1970-01-01
    • 1970-01-01
    • 2021-06-17
    • 2019-11-01
    • 2016-11-16
    相关资源
    最近更新 更多