八、改变形状
Stack
图中df[:4]表示取前4行。
stack()表示将数据的列转换为类似索引。
unstack() 默认把 最后一分组转成列,若指定数,表示把指定的列转为列。
数据透视表
生成数据框
pivot_table ,values代表要取值的列,index表示用作索引的列, colums表示用于取值分异的列。
九、时间序列
Pandas 在对频率转换进行重新采样时拥有简单、强大且高效的功能(如将按秒采
样的数据转换为按5分钟为单位进行采样的数据)
如图所示,将以秒为单位的数据,转换为以5min,即300为一单位的数据,再求和,由于rng 序列数为100,因此resample 5min还是在一个5min单位内,所以在这种情况下ts.sum() 和 ts.resample
('5Min').sum()结果一致。
1、时区表示:
将以正常日期显示的序列转为‘UTC’时区表示的序列;
2、时区转换
如上图所示,将ts_utc转为US/Eastern时间,时间格式还是UTC格式,但时间已变为 ‘当地时间 + 时区时差‘ 格式。
3、时间跨度转换
to_period()是将时间转换成一个时间跨度,to_timestamp()是将时间跨度转为时间戳。
4、时期和时间戳之间的转换使得可以使用一些方便的算数函数。
上图中,prng创立了一个以11月为起点的季度时间序列,然后用asfreq函数,将其依次转为以月份‘M’为频率加偏移量1,小时数为第二频率并加偏移量9。注:asfreq函数取值是时间点数据,即时间点数值不变,而时间索引列的频率改变,resample则是 取值时间段 内的数值,数值会进行运算而改变。