gpt4 book ai didi

python - Pandas:基于分钟的列,需要在每行添加 15 秒

转载 作者:太空宇宙 更新时间:2023-11-04 11:20:27 24 4
gpt4 key购买 nike

我的数据框是这样的:

1      2019-04-22 00:01:00
2 2019-04-22 00:01:00
3 2019-04-22 00:01:00
4 2019-04-22 00:01:00
5 2019-04-22 00:02:00
6 2019-04-22 00:02:00
7 2019-04-22 00:02:00
8 2019-04-22 00:02:00
9 2019-04-22 00:03:00
10 2019-04-22 00:03:00
11 2019-04-22 00:03:00
12 2019-04-22 00:03:00

如您所见,每分钟有四行,我需要为每行添加 15 秒,这样它看起来像这样:

1      2019-04-22 00:01:00
2 2019-04-22 00:01:15
3 2019-04-22 00:01:30
4 2019-04-22 00:01:45
5 2019-04-22 00:02:00
6 2019-04-22 00:02:15
7 2019-04-22 00:02:30
8 2019-04-22 00:02:45
9 2019-04-22 00:03:00
10 2019-04-22 00:03:15
11 2019-04-22 00:03:30
12 2019-04-22 00:03:45

关于如何进行的任何想法?我不太擅长日期时间对象,所以我有点卡在那个对象上……提前谢谢你!

最佳答案

您可以将时间增量添加到日期时间列:

df['date'] += pd.to_timedelta(df.groupby('date').cumcount() * 15, unit='s')

print (df)
date
1 2019-04-22 00:01:00
2 2019-04-22 00:01:15
3 2019-04-22 00:01:30
4 2019-04-22 00:01:45
5 2019-04-22 00:02:00
6 2019-04-22 00:02:15
7 2019-04-22 00:02:30
8 2019-04-22 00:02:45
9 2019-04-22 00:03:00
10 2019-04-22 00:03:15
11 2019-04-22 00:03:30
12 2019-04-22 00:03:45

详细信息:

首先通过 GroupBy.cumcount 创建计数器 Series :

print (df.groupby('date').cumcount())
1 0
2 1
3 2
4 3
5 0
6 1
7 2
8 3
9 0
10 1
11 2
12 3
dtype: int64

乘以 15 并转换为秒 timedeltas by to_timedelta :

print (pd.to_timedelta(df.groupby('date').cumcount() * 15, unit='s'))
1 00:00:00
2 00:00:15
3 00:00:30
4 00:00:45
5 00:00:00
6 00:00:15
7 00:00:30
8 00:00:45
9 00:00:00
10 00:00:15
11 00:00:30
12 00:00:45
dtype: timedelta64[ns]

关于python - Pandas:基于分钟的列,需要在每行添加 15 秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56109994/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com