【发布时间】:2021-03-22 06:35:03
【问题描述】:
我有一个这样的数据框df:
[日期:mm/dd/yyyy]
Date Student_id subject Subject_Scores
11/30/2020 1000101 Math 70
NaN 1000101 Physics 75
NaN 1000101 Biology 60
11/25/2020 1000101 Chemistry 49
NaN 1000101 English 80
12/02/2020 1000101 Sociology 50
11/25/2020 1000102 Physics 80
NaN 1000102 Math 90
12/15/2020 1000102 Chemistry 63
NaN 1000103 English 71
假设每次考试之间有 3 天的间隔,我如何为每个单独的 Student_id 添加 4 天 并填写NaN 存在的任何地方? (例如:11/30/2020,如果加上 4 天,我们得到 12/04/2020,如果加上 4 天,我们得到 12/08/2020)
P.S:如果日期已经存在于某个列值中,考虑到我们应该添加 4 天并为特定的 Student_id 填充下一个 NaN。 p>
输出date_df 必须如下所示:
Date Student_id subject Subject_Scores
11/30/2020 1000101 Math 70
12/04/2020 1000101 Physics 75
12/08/2020 1000101 Biology 60
11/25/2020 1000101 Chemistry 49
11/29/2020 1000101 English 80
12/02/2020 1000101 Sociology 50
11/25/2020 1000102 Physics 80
11/29/2020 1000102 Math 90
12/15/2020 1000102 Chemistry 63
NaN 1000103 English 71
Please do suggest any code ideas, Thanks for the help, in advance!
【问题讨论】:
-
最后一个学生 ID 的第一个日期为 NaN 怎么样。你将如何处理那个日期?
-
由于最后一个
Student_id的第一个日期为NaN,因此无法为该学生随机添加天数。 (如果我们尝试使用 groupby 填充,我猜)。
标签: python python-3.x pandas dataframe pandas-groupby