首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据大熊猫的数据填入数据

如何根据大熊猫的数据填入数据
EN

Stack Overflow用户
提问于 2019-10-16 12:23:52
回答 2查看 59关注 0票数 3

有一些数据是丢失的日期,例如,在下面的例子,只有3天的数据是存在于10月份,但我预计每天的记录。

代码语言:javascript
复制
import pandas as pd

df = pd.DataFrame({'date':['2019-10-1','2019-10-2','2019-10-31'], 'times':[4,6,3]})
print(df)

Output:

代码语言:javascript
复制
         date  times
0   2019-10-1      4
1   2019-10-2      6
2  2019-10-31      3

Expected:

代码语言:javascript
复制
         date  times
0   2019-10-1      4
1   2019-10-2      6
2   2019-10-3      0
3   2019-10-4      0
    ...
30  2019-10-31     3

那么如何添加这些中间样本呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-16 12:25:26

首先创建DatetimeIndex,对于附加缺少的日期时间,请使用DataFrame.asfreq

代码语言:javascript
复制
df['date'] = pd.to_datetime(df['date'])
df = df.set_index('date').asfreq('d', fill_value=0).reset_index()
print (df)
         date  times
0  2019-10-01      4
1  2019-10-02      6
2  2019-10-03      0
3  2019-10-04      0
4  2019-10-05      0
5  2019-10-06      0
...
...
20 2019-10-21      0
21 2019-10-22      0
22 2019-10-23      0
23 2019-10-24      0
24 2019-10-25      0
25 2019-10-26      0
26 2019-10-27      0
27 2019-10-28      0
28 2019-10-29      0
29 2019-10-30      0
30 2019-10-31      3
票数 3
EN

Stack Overflow用户

发布于 2019-10-16 12:31:54

你也可以使用pd.date_range

代码语言:javascript
复制
df['date']=pd.to_datetime(df['date'])
dates=pd.date_range(df['date'].min(),df['date'].max())
df.set_index(df['date'])['times'].reindex(index=dates).fillna(0).reset_index()

代码语言:javascript
复制
        index  times
0  2019-10-01    4.0
1  2019-10-02    6.0
2  2019-10-03    0.0
3  2019-10-04    0.0
4  2019-10-05    0.0
5  2019-10-06    0.0
6  2019-10-07    0.0
7  2019-10-08    0.0
8  2019-10-09    0.0
9  2019-10-10    0.0
10 2019-10-11    0.0
11 2019-10-12    0.0
12 2019-10-13    0.0
13 2019-10-14    0.0
14 2019-10-15    0.0
15 2019-10-16    0.0
16 2019-10-17    0.0
17 2019-10-18    0.0
18 2019-10-19    0.0
19 2019-10-20    0.0
20 2019-10-21    0.0
21 2019-10-22    0.0
22 2019-10-23    0.0
23 2019-10-24    0.0
24 2019-10-25    0.0
25 2019-10-26    0.0
26 2019-10-27    0.0
27 2019-10-28    0.0
28 2019-10-29    0.0
29 2019-10-30    0.0
30 2019-10-31    3.0
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58413269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档