Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用pandas获取python中hh:mm:ss时间数据的平均分组比_Python_Pandas_Dataframe_Group By_Timedelta - Fatal编程技术网

使用pandas获取python中hh:mm:ss时间数据的平均分组比

使用pandas获取python中hh:mm:ss时间数据的平均分组比,python,pandas,dataframe,group-by,timedelta,Python,Pandas,Dataframe,Group By,Timedelta,我有一个带有以下示例数据的熊猫数据框: Group Time 1 01:40:00 1 01:32:00 2 00:56:31 我希望我的输出是: Group Time 1 01:36:00 2 00:56:31 运行数据类型时,组和时间都存储为对象 我做了一些阅读,假设你只能通过将数据转换成hh:mm:ss:ms来完成。我尝试过使用timedelta函数,但没有成功 def rreplace(s, old, new, oc

我有一个带有以下示例数据的熊猫数据框:

Group   Time
1       01:40:00
1       01:32:00
2       00:56:31
我希望我的输出是:

Group   Time
1       01:36:00
2       00:56:31
运行数据类型时,组和时间都存储为对象

我做了一些阅读,假设你只能通过将数据转换成hh:mm:ss:ms来完成。我尝试过使用timedelta函数,但没有成功

def rreplace(s, old, new, occurrence):
    li = s.rsplit(old, occurrence)
    return new.join(li)
df['New Time']=pd.to_timedelta(df['Time'].apply(lambda x: rreplace('00:{}'.format(x), ':', '.', 1)))

df.groupby(['Group'])['New Time'].mean()
现在我知道这个代码把它推下了一层。i、 秒现在是毫秒。但是我想让它做相反的事情,以hh:mm:ss:ms格式显示正确的hh:mm:ss时间,这样我就可以对它执行数学运算

任何帮助都将不胜感激。
谢谢

对于me,工作骨料按
求和
计算,按
大小
计算,然后划分列,在0.25.1中测试:

df['New Time'] = pd.to_timedelta(df['Time'])
df = df.groupby(['Group'])['New Time'].agg(['sum','size'])
df = df['sum'].div(df['size']).reset_index(name='Time')
print (df)
   Group     Time
0      1 01:36:00
1      2 00:56:31