要求:
四列 id,x,y,t的一个dataframe。
对每个id内部,如果两条记录t相同,则对两条记录的x,y求平均,得到一条新记录,然后插入后删除旧的记录
假设所有数据按照id小在前,相等时t小在前排列
要求:
四列 id,x,y,t的一个dataframe。
对每个id内部,如果两条记录t相同,则对两条记录的x,y求平均,得到一条新记录,然后插入后删除旧的记录
假设所有数据按照id小在前,相等时t小在前排列
import pandas as pd
df = pd.read_excel(r'aa.xlsx')
print(df)
result = pd.DataFrame(df.groupby(['id', 't']).mean().reset_index())
print(result)
数据:
id x y t
0 1 1 1 1
1 2 2 2 2
2 2 3 3 3
3 3 4 4 3
4 3 5 5 3
5 3 6 6 3
6 4 7 7 4
7 5 8 8 5
结果:
id t x y
0 1 1 1 1
1 2 2 2 2
2 2 3 3 3
3 3 3 5 5
4 4 4 7 7
5 5 5 8 8
如果要调整列的顺序,展现的时候调整一下就好。