Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PANDAS(在PANDAS中对dataframe中的数据进行日期时间和ffill()转换)_Python_Pandas_Date_Time Series - Fatal编程技术网

Python PANDAS(在PANDAS中对dataframe中的数据进行日期时间和ffill()转换)

Python PANDAS(在PANDAS中对dataframe中的数据进行日期时间和ffill()转换),python,pandas,date,time-series,Python,Pandas,Date,Time Series,我有一个如下的数据框架,它只有工作日数据(即。 不包括周末) 我必须在此数据帧上执行两个操作1)填充 缺少的时间序列(即2020-02-08和2020-02-09 2)将被转发 填写前一日期的整个数据块 所以我的输出数据帧应该是这样的 用于计数器,该计数器用于多索引,重塑为,添加所有缺少的日期时间,然后重塑为,按第一个和第二个移除计数器级别将生效日期转换为列: df['effective_date'] = pd.to_datetime(df['effective_date']) df1 = (

我有一个如下的数据框架,它只有工作日数据(即。 不包括周末)

我必须在此数据帧上执行两个操作1)填充 缺少的时间序列(即2020-02-08和2020-02-09 2)将被转发 填写前一日期的整个数据块

所以我的输出数据帧应该是这样的

用于计数器,该计数器用于多索引,重塑为,添加所有缺少的日期时间,然后重塑为,按第一个和第二个移除计数器级别将
生效日期
转换为列:

df['effective_date'] = pd.to_datetime(df['effective_date'])

df1 = (df.set_index(['effective_date',df.groupby('effective_date').cumcount()])
         .unstack()
         .asfreq('D', method='ffill')
         .stack()
         .reset_index(level=1, drop=True)
         .reset_index())


在这个问题上需要你的帮助
effective_date,ent_id
> 2020-02-03,349114.0 2020-02-03,1559910.0 2020-02-03,23431626.0
> 2020-02-03,15747736.0 2020-02-04,21349114.0 2020-02-04,15559910.0
> 2020-02-04,323431626.0 2020-02-04,5747736.0 2020-02-05,76349114.0
> 2020-02-05,5459910.0 2020-02-05,89431626.0 2020-02-05,37747736.0
> 2020-02-06,10349114.0 2020-02-06,26559910.0 2020-02-06,35431626.0
> 2020-02-06,88747736.0 2020-02-07,34913414.0 2020-02-07,15591910.0
> 2020-02-07,234318626.0 2020-02-07,1574436.0 2020-02-08,34913414.0
> 2020-02-08,15591910.0 2020-02-08,234318626.0 2020-02-08,1574436.0
> 2020-02-09,34913414.0 2020-02-09,15591910.0 2020-02-09,234318626.0
> 2020-02-09,1574436.0 2020-02-10,139114.0 2020-02-10,4359910.0
> 2020-02-10,43431626.0 2020-02-10,10947736.0
df['effective_date'] = pd.to_datetime(df['effective_date'])

df1 = (df.set_index(['effective_date',df.groupby('effective_date').cumcount()])
         .unstack()
         .asfreq('D', method='ffill')
         .stack()
         .reset_index(level=1, drop=True)
         .reset_index())
print (df1)
   effective_date       ent_id
0      2020-02-03     349114.0
1      2020-02-03    1559910.0
2      2020-02-03   23431626.0
3      2020-02-03   15747736.0
4      2020-02-04   21349114.0
5      2020-02-04   15559910.0
6      2020-02-04  323431626.0
7      2020-02-04    5747736.0
8      2020-02-05   76349114.0
9      2020-02-05    5459910.0
10     2020-02-05   89431626.0
11     2020-02-05   37747736.0
12     2020-02-06   10349114.0
13     2020-02-06   26559910.0
14     2020-02-06   35431626.0
15     2020-02-06   88747736.0
16     2020-02-07   34913414.0
17     2020-02-07   15591910.0
18     2020-02-07  234318626.0
19     2020-02-07    1574436.0
20     2020-02-08   34913414.0
21     2020-02-08   15591910.0
22     2020-02-08  234318626.0
23     2020-02-08    1574436.0
24     2020-02-09   34913414.0
25     2020-02-09   15591910.0
26     2020-02-09  234318626.0
27     2020-02-09    1574436.0
28     2020-02-10     139114.0
29     2020-02-10    4359910.0
30     2020-02-10   43431626.0
31     2020-02-10   10947736.0