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

2024-10-01 00:29:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有正常的数据帧

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

Tags: 数据nameidcityagedate时间序列
1条回答
网友
1楼 · 发布于 2024-10-01 00:29:18

您可以使用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)

相关问题 更多 >