书中开头内容如下:
英文版:
A common way to store multiple time series in databases and CSV is in so-called long
or stacked format:In [116]: ldata[:10]
Out[116]: date item value 0 1959-03-31 00:00:00 realgdp 2710.349 1 1959-03-31 00:00:00 infl 0.000 2 1959-03-31 00:00:00 unemp 5.800 3 1959-06-30 00:00:00 realgdp 2778.801 4 1959-06-30 00:00:00 infl 2.340 5 1959-06-30 00:00:00 unemp 5.100 6 1959-09-30 00:00:00 realgdp 2775.488 7 1959-09-30 00:00:00 infl 2.740 8 1959-09-30 00:00:00 unemp 5.300 9 1959-12-31 00:00:00 realgdp 2785.204
中文版:
时间序列数据通常是已所谓的“长格式”或“堆叠格式”存储在数据库和CSV中
ldata=pd.read_excel('data/data.xlsx') print ldata pivoted=ldata.pivot('date','item','value') print pivoted
结果为:......
.........................
//。。。。。。。。。。。。。。。。。。。。分隔符。。。。。。。。。。。。。。。。。。。。。。。。。。。。、、//
以上文字是我在阅读《利用Python进行数据分析》一书中在中文版第202页(英文版第192页)中发现该 ldata 在前文中完全没有提及是如何实现的,译者也提出了这个问题,对于如何实现该变量,只给了一个小提示,没有代码,我上网谷歌也没有发现源代码,后来在原书附带源码中找到了该实现代码,现在贴出来如下所示:
data = pd.read_csv('ch07/macrodata.csv') periods = pd.PeriodIndex(year=data.year, quarter=data.quarter, name='date') data = DataFrame(data.to_records(), columns=pd.Index(['realgdp', 'infl', 'unemp'], name='item'), index=periods.to_timestamp('D', 'end')) ldata = data.stack().reset_index().rename(columns={0: 'value'}) wdata = ldata.pivot('date', 'item', 'value')