【问题标题】:i have a pandas dataframe and i want to fill missing value [duplicate]我有一个熊猫数据框,我想填充缺失值[重复]
【发布时间】:2019-11-02 05:51:30
【问题描述】:

我有一个带有 2 列的 pandas 数据框。第 1 列具有数据类型时间戳,第 2 列由值组成,数据类型为 int。

df1 frame
1st column            2nd column
2019-06-15 00:00:00     520
2019-06-15 02:00:00     263
2019-06-15 04:00:00     756
2019-06-16 14:00:00     264
2019-06-16 17:00:00     1254

我想要这样的输出

1st column            2nd column 
2019-06-15 00:00:00     756
2019-06-15 01:00:00     0
2019-06-15 02:00:00     263
2019-06-15 03:00:00     0
2019-06-15 04:00:00     756
         ...
2019-06-16 00:00:00     0
2019-06-16 01:00:00     0
         ...
2019-06-16 14:00:00      264
2019-06-16 15:00:00     0
2019-06-16 16:00:00     0
2019-06-16 01:00:00     1254
         ...
2016-06-16 23:00:00      0
2019-06-15 01:00:00      0

也就是说,我想将缺失的小时值填充为零。

【问题讨论】:

  • 到目前为止您尝试过什么?似乎您应该能够使用适当的index 创建一个新的DataFrame,或者使用reindex 然后fillna

标签: python python-3.x pandas dataframe


【解决方案1】:

resamplefillna 一起使用:

df.set_index('1st column').resample('H').first().fillna(0)

                     2nd column
1st column                     
2019-06-15 00:00:00       520.0
2019-06-15 01:00:00         0.0
2019-06-15 02:00:00       263.0
2019-06-15 03:00:00         0.0
2019-06-15 04:00:00       756.0
2019-06-15 05:00:00         0.0
2019-06-15 06:00:00         0.0
2019-06-15 07:00:00         0.0
2019-06-15 08:00:00         0.0
2019-06-15 09:00:00         0.0
2019-06-15 10:00:00         0.0
2019-06-15 11:00:00         0.0
2019-06-15 12:00:00         0.0
2019-06-15 13:00:00         0.0
2019-06-15 14:00:00         0.0
2019-06-15 15:00:00         0.0
2019-06-15 16:00:00         0.0
2019-06-15 17:00:00         0.0
2019-06-15 18:00:00         0.0
2019-06-15 19:00:00         0.0
2019-06-15 20:00:00         0.0
2019-06-15 21:00:00         0.0
2019-06-15 22:00:00         0.0
2019-06-15 23:00:00         0.0
2019-06-16 00:00:00         0.0
2019-06-16 01:00:00         0.0
2019-06-16 02:00:00         0.0
2019-06-16 03:00:00         0.0
2019-06-16 04:00:00         0.0
2019-06-16 05:00:00         0.0
2019-06-16 06:00:00         0.0
2019-06-16 07:00:00         0.0
2019-06-16 08:00:00         0.0
2019-06-16 09:00:00         0.0
2019-06-16 10:00:00         0.0
2019-06-16 11:00:00         0.0
2019-06-16 12:00:00         0.0
2019-06-16 13:00:00         0.0
2019-06-16 14:00:00       264.0
2019-06-16 15:00:00         0.0
2019-06-16 16:00:00         0.0
2019-06-16 17:00:00      1254.0

【讨论】:

  • 假设我的第一个日期和时间是从 '2019-06-11 11:00:00' 开始,我希望从零开始的小时数而不是在这些 .@Erfan
  • 那是一个不同的问题,请发布一个新问题,把链接放在这里,我会尽力帮助你@vishwajeet
猜你喜欢
  • 1970-01-01
  • 2020-06-06
  • 2021-12-10
  • 1970-01-01
  • 2016-04-30
  • 1970-01-01
  • 2017-08-21
  • 1970-01-01
相关资源
最近更新 更多