创建新的日期时间列熊猫

抗体

这是我的df;

d = {'id':['abc','abc','abc','abc','def','def','def','ghj','ghj','ghj'],
     'Section': ['1H','2H','3H','4H','1H','2H','3H','1H','2H','3H'],
     'time':['00:00:00', '00:00:30', '00:01:00','00:01:30','00:00:00', '00:00:30', '00:01:00','00:00:00', '00:00:30', '00:01:00'],
     'A': [0.1,0.2,0.5,0.1,0.1,0.2,0.6,0.3,0.1,0.1],
     'B': [0.6,0.3,0.1,0.1,0.3,0.1,0.5,0.1,0.7,0.2]}

df = pd.DataFrame(d)

我想为每个ID创建一个周期为30秒的新时间列。我尝试了以下操作,但是,我不知道如何将输出转换为df中的列。

g = df.groupby('id')
tp = []
for idd, group in g:
    tp.append(pd.timedelta_range('0 days 0 hours 0 minutes',periods=len(group), freq='30S'))

所需的输出

    A   B   Section id     tp
0   0.1 0.6   1H    abc 00:00:00
1   0.2 0.3   2H    abc 00:00:30
2   0.5 0.1   3H    abc 00:01:00
3   0.1 0.1   4H    abc 00:01:30
4   0.1 0.3   1H    def 00:00:00
5   0.2 0.1   2H    def 00:00:30
6   0.6 0.5   3H    def 00:01:00
7   0.3 0.1   1H    ghj 00:00:00
8   0.1 0.7   2H    ghj 00:00:30
9   0.1 0.2   3H    ghj 00:01:00

任何帮助深表感谢。

耶斯列尔

使用GroupBy.cumcount由计数器列,并转换为第二timedeltasto_timedelta由多个30

df['tp'] = pd.to_timedelta(df.groupby('id').cumcount() * 30, unit='S')
print (df)
    id Section      time    A    B       tp
0  abc      1H  00:00:00  0.1  0.6 00:00:00
1  abc      2H  00:00:30  0.2  0.3 00:00:30
2  abc      3H  00:01:00  0.5  0.1 00:01:00
3  abc      4H  00:01:30  0.1  0.1 00:01:30
4  def      1H  00:00:00  0.1  0.3 00:00:00
5  def      2H  00:00:30  0.2  0.1 00:00:30
6  def      3H  00:01:00  0.6  0.5 00:01:00
7  ghj      1H  00:00:00  0.3  0.1 00:00:00
8  ghj      2H  00:00:30  0.1  0.7 00:00:30
9  ghj      3H  00:01:00  0.1  0.2 00:01:00

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用熊猫使用条件日期时间创建新列

根据日期时间和大熊猫今天的日期创建一个新列

熊猫:通过合并现有列来创建新的日期时间列

熊猫从时间戳创建新的分类列

根据熊猫的2个值创建新的日期时间值

根据日期时间值是否在一小时内在熊猫中创建新列

熊猫表重塑| 用小时创建日期时间列

熊猫:从现有的日期时间列创建日期时间列

排序日期时间列熊猫

熊猫:直接从“日期时间”列返回时间

根据条件以及现有的日期列和时间增量列创建新的日期列

如何在熊猫中按日期分组并创建与日期关联的时间列

计算特定列的日期时间行的标准偏差并保存到熊猫中的新列

熊猫:如何生成新列以获取另一列的上次日期时间值

通过组合单独的日期和时间列来创建新的数据时间列

熊猫IF测试创建新列

熊猫:智能创建新列

熊猫,从日期列创建缺少的日期字典

根据另一个熊猫中开始日期和结束日期列的条件创建新的熊猫数据框

在新的熊猫数据框列中计算以年,月等为单位的日期时间差异

在熊猫数据框中将日期时间字符串转换为日,月,年的新列

如何每隔15分钟标记熊猫的日期时间行(在新列中)?

熊猫:添加2个时间列并创建一个新列

在大熊猫的日期级别基于groupby date time列创建一个新列

如何使用参考日期在日期时间格式的多索引数据框中创建新列

根据日期是否在多个时间段之间的其他日期之间创建新列

熊猫:创建具有不同频率的熊猫日期时间序列

使用日期时间索引和列中的随机值创建熊猫数据框

从熊猫日期列中减去当前时间