简体   繁体   English

熊猫:日期时间索引系列到时间索引日期列的数据框

[英]Pandas: datetime indexed series to time indexed date columns dataframe

I have a datetime indexed series like this: 我有一个像这样的日期时间索引系列:

2018-08-27 17:45:01  1
2018-08-27 16:01:12  1
2018-08-27 13:48:47  1
2018-08-26 22:26:40  2
2018-08-26 20:10:42  1
2018-08-26 18:20:32  1
2018-08-25 23:07:51  1
2018-08-25 01:46:08  1
2018-09-18 14:08:23  1
2018-09-17 19:38:38  1
2018-09-15 22:40:45  1

What is an elegant way to reformat this into a time indexed dataframe whose columns are dates? 有什么绝妙的方法可以将其重新格式化为以日期为列的时间索引数据帧? For example: 例如:

          2018-10-24  2018-06-28  2018-10-23
15:16:41         1.0         NaN         NaN
15:18:16         1.0         NaN         NaN
15:21:42         1.0         NaN         NaN
23:35:00         NaN         NaN         1.0
23:53:13         NaN         1.0         NaN

Current approach: 当前方法:

time_date_dict = defaultdict(partial(defaultdict, int))
for i in series.iteritems():
  datetime = i[0]
  value = i[1]
  time_date_dict[datetime.time()][datetime.date()] = value
time_date_df = pd.DataFrame.from_dict(time_date_dict, orient='index')

Use pivot : 使用pivot

df1 = pd.pivot(s.index.time, s.index.date, s)
#if want strings index and columns names
#df1 = pd.pivot(s.index.strftime('%H:%M:%S'), s.index.strftime('%Y-%m-%d'), s)
print (df1)
date      2018-08-25  2018-08-26  2018-08-27  2018-09-15  2018-09-17  \
date                                                                   
01:46:08         1.0         NaN         NaN         NaN         NaN   
13:48:47         NaN         NaN         1.0         NaN         NaN   
14:08:23         NaN         NaN         NaN         NaN         NaN   
16:01:12         NaN         NaN         1.0         NaN         NaN   
17:45:01         NaN         NaN         1.0         NaN         NaN   
18:20:32         NaN         1.0         NaN         NaN         NaN   
19:38:38         NaN         NaN         NaN         NaN         1.0   
20:10:42         NaN         1.0         NaN         NaN         NaN   
22:26:40         NaN         2.0         NaN         NaN         NaN   
22:40:45         NaN         NaN         NaN         1.0         NaN   
23:07:51         1.0         NaN         NaN         NaN         NaN   

date      2018-09-18  
date                  
01:46:08         NaN  
13:48:47         NaN  
14:08:23         1.0  
16:01:12         NaN  
17:45:01         NaN  
18:20:32         NaN  
19:38:38         NaN  
20:10:42         NaN  
22:26:40         NaN  
22:40:45         NaN  
23:07:51         NaN  

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM