1 回答

TA貢獻1779條經(jīng)驗 獲得超6個贊
您可以創(chuàng)建一個自定義聚合函數(shù),將這些字符串解析為列表,查找每列的平均值,并將它們格式化回字符串:
def string_mean(rows):
data_list = []
for row in rows:
data_list.append([float(item) for item in row.split(",")])
data = np.array(data_list)
return ",".join([f"{item:.6f}" for item in data.mean(axis=0)])
df.groupby(["x", "y"], as_index=False).agg({"A": string_mean, "B": "mean"})
返回
x y A B
0 8000000000 0,1 0.114139,0.113959 0.114247
1 8000000000 0,1,2,3 0.167816,0.172414,0.419196,0.427081 0.428297
請注意,如果 A 中的字符串在單個組中具有不同數(shù)量的列,則會出錯。
順便說一句,你可能可以大大清理我上面的函數(shù)
添加回答
舉報