如何将普通数据帧转换为时间序列数据帧

时间:2020-12-26 16:07:39

标签: python dataframe time-series

我有正常的数据框。

id  name    age city        date
1   Jane    43  London      2020-01-12
2   Jose    34  London      2020-01-12
3   Poul    53  Leed        2020-01-12
4   Mark    29  Manchester  2020-02-12
5   Zak     36  London      2020-02-12
6   Lin     75  Birmingham  2020-03-12
7   Word    55  York        2020-04-12
8   Gene    33  Leed        2020-04-12

我想转换为时间序列数据帧,你能教我怎么做吗?

在真实数据集中,有很多城市。我希望它自动生成表格。

我期望的时间序列是:

date        London  Leed    Manchester  Birmingham  York    
2020-01-12  2       1       0           0            0
2020-02-12  1       0       1           0            0
2020-03-12  0       0       0           1            0
2020-04-12  0       1       0           0            1

1 个答案:

答案 0 :(得分:1)

您可以使用pivot_table

df.pivot_table(index='date', columns='city', aggfunc='size', fill_value=0)

city        Birmingham  Leed  London  Manchester  York
date
2020-01-12           0     1       2           0     0
2020-02-12           0     0       1           1     0
2020-03-12           1     0       0           0     0
2020-04-12           0     1       0           0     1

您也可以使用 pd.crosstab(df.date, df.city)