Python:如何根据一周中的某一天获取数据帧中某个范围内的项目数?
我正在编写一个Python代码,其中数据帧如下所示:Python:如何根据一周中的某一天获取数据帧中某个范围内的项目数?,python,pandas,Python,Pandas,我正在编写一个Python代码,其中数据帧如下所示: score start_time date 0 2.551020 1611848652 2021-01-28 09:44:12-06:00 1 2.596491 1613653380 2021-02-18 07:03:00-06:00 2 2.045455 1614137036 2021-02-23 21:23:56-06:00
score start_time date
0 2.551020 1611848652 2021-01-28 09:44:12-06:00
1 2.596491 1613653380 2021-02-18 07:03:00-06:00
2 2.045455 1614137036 2021-02-23 21:23:56-06:00
3 2.260870 1612352809 2021-02-03 05:46:49-06:00
4 2.654867 1614185082 2021-02-24 10:44:42-06:00
... ... ... ...
208258 2.683871 1613422487 2021-02-15 14:54:47-06:00
208553 2.568000 1612922522 2021-02-09 20:02:02-06:00
208580 2.943925 1612786920 2021-02-08 06:22:00-06:00
208584 2.160256 1612550480 2021-02-05 12:41:20-06:00
208683 2.315385 1612667953 2021-02-06 21:19:13-06:00
我需要获得给定范围内的分数计数,以一周中的某一天为基础
预期产量
2.0-2.2 2.2-2.5 2.5-3.0
Day
Friday 10000 12344 23123
Monday 24892 24892 24892
Saturday 23424 23424 23424
Sunday 41232 23132 23315
Thursday 41232 23152 4123
Tuesday 41232 53457 6663
Wednesday 41232 23131 34423
我应该能够根据数据框中的date
获得范围为2.0-2.2、2.2-2.5和2.5-3.0的分数计数,该数据框应根据一周中的某一天显示
我该怎么做?我在这一步上卡住了好一阵子
注意:预期输出中的给定计数
只是为了便于理解而给出的随机值。和
我们可以使用pd.cut
将score
列中的值分类为离散区间,然后我们可以使用交叉表创建频率表
pd.crosstab(df['date'].dt.day_name(), pd.cut(df['score'], [2, 2.2, 2.5, 3.0]))
score (2.0, 2.2] (2.2, 2.5] (2.5, 3.0]
date
Friday 1 0 0
Monday 0 0 2
Saturday 0 1 0
Thursday 0 0 2
Tuesday 1 0 1
Wednesday 0 1 1