给 pandas 日期列序数值
give pandas date columns ordinal value
我有包含不同日期和时间测量值的数据框:
>>>date hour value
0 29-11-2020 8 0.231
1 29-11-2020 9 0.245
2 29-11-2020 10 0.475
3 30-11-2020 8 0.214
4 30-11-2020 9 0.239
5 30-11-2020 10 0.312
...
table描述了每天每小时的测量值。从实验的第三天到第 15 天进行测量。
我想创建新的列,将实验基地的序号日放在日期上,例如:
>>>date hour value count
0 29-11-2020 8 0.231 3
1 29-11-2020 9 0.245 3
2 29-11-2020 10 0.475 3
3 30-11-2020 8 0.214 4
4 30-11-2020 9 0.239 4
5 30-11-2020 10 0.312 4
5 01-12-2020 8 0.312 5
5 01-12-2020 9 0.312 5
5 01-12-2020 10 0.521 5
...
(29-11是第三天,30-11是第二天...)
我已经看到 this post 但它并没有解决同样的问题(他们给出了重复的“代码”,而我想“计算”从第 3 天开始的唯一日期并给出每个序号日期。
我也尝试过使用 "tooordinal" 但它只是更改了日期值而不计算它。
将 'date' 列转换为日期时间,减去第一天,取结果 timedelta
系列的那一天并添加偏移天数:
experiment_day_start = 3
df['date'] = pd.to_datetime(df['date'], dayfirst=True)
df['exp_day'] = (df['date']-df['date'].min()).dt.days + experiment_day_start
df
date hour value count exp_day
0 2020-11-29 8 0.231 3 3
1 2020-11-29 9 0.245 3 3
2 2020-11-29 10 0.475 3 3
3 2020-11-30 8 0.214 4 4
4 2020-11-30 9 0.239 4 4
5 2020-11-30 10 0.312 4 4
6 2020-12-01 8 0.312 5 5
7 2020-12-01 9 0.312 5 5
8 2020-12-01 10 0.521 5 5
我有包含不同日期和时间测量值的数据框:
>>>date hour value
0 29-11-2020 8 0.231
1 29-11-2020 9 0.245
2 29-11-2020 10 0.475
3 30-11-2020 8 0.214
4 30-11-2020 9 0.239
5 30-11-2020 10 0.312
...
table描述了每天每小时的测量值。从实验的第三天到第 15 天进行测量。 我想创建新的列,将实验基地的序号日放在日期上,例如:
>>>date hour value count
0 29-11-2020 8 0.231 3
1 29-11-2020 9 0.245 3
2 29-11-2020 10 0.475 3
3 30-11-2020 8 0.214 4
4 30-11-2020 9 0.239 4
5 30-11-2020 10 0.312 4
5 01-12-2020 8 0.312 5
5 01-12-2020 9 0.312 5
5 01-12-2020 10 0.521 5
...
(29-11是第三天,30-11是第二天...)
我已经看到 this post 但它并没有解决同样的问题(他们给出了重复的“代码”,而我想“计算”从第 3 天开始的唯一日期并给出每个序号日期。 我也尝试过使用 "tooordinal" 但它只是更改了日期值而不计算它。
将 'date' 列转换为日期时间,减去第一天,取结果 timedelta
系列的那一天并添加偏移天数:
experiment_day_start = 3
df['date'] = pd.to_datetime(df['date'], dayfirst=True)
df['exp_day'] = (df['date']-df['date'].min()).dt.days + experiment_day_start
df
date hour value count exp_day
0 2020-11-29 8 0.231 3 3
1 2020-11-29 9 0.245 3 3
2 2020-11-29 10 0.475 3 3
3 2020-11-30 8 0.214 4 4
4 2020-11-30 9 0.239 4 4
5 2020-11-30 10 0.312 4 4
6 2020-12-01 8 0.312 5 5
7 2020-12-01 9 0.312 5 5
8 2020-12-01 10 0.521 5 5