希望为每个用户ID创建纵向数据,但我不确定如何用无值填充月份

时间:2019-07-12 17:00:35

标签: python python-3.x pandas

以下是我的数据集的示例(时间范围= 2019年1月至2019年4月):

id  date
1   2019-01-04
1   2019-01-17
1   2019-03-12
2   2019-01-01
2   2019-02-02
2   2019-02-13
2   2019-02-23

我希望它看起来像这样:

id month count
1  1     2
1  2     0
1  3     1
1  4     0
2  1     1
2  2     3
2  3     0
2  4     0

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

在您的情况下,将reindexpd.crosstab(df.id,df.date.dt.month).reindex(columns=range(1,5),fill_value=0).stack().reset_index() Out[482]: id date 0 0 1 1 2 1 1 2 0 2 1 3 1 3 1 4 0 4 2 1 1 5 2 2 3 6 2 3 0 7 2 4 0 一起使用

@Query("UPDATE exercise_table SET reps = :reps WHERE id =:id")
void updateRepsList(List<String> reps, String id );

@Query("UPDATE exercise_table SET weights = :weights WHERE id =:id")
void updateWeightList(List<String> weights, String id);

@Update
void updateExercise(Exercise exercise);