题目:从pandas列计算平均值,该列的元素包含坐标列表
回答: 在pandas中,可以使用apply方法来对列中的元素进行计算。对于包含坐标列表的列,我们可以先将每个元素转换为numpy数组,然后使用numpy库来计算平均值。
具体步骤如下:
import pandas as pd
import numpy as np
data = {'coordinates': [[1, 2], [3, 4], [5, 6], [7, 8]]}
df = pd.DataFrame(data)
def compute_average(coordinates):
arr = np.array(coordinates) # 将坐标列表转换为numpy数组
average = np.mean(arr, axis=0) # 计算每个维度的平均值
return average.tolist() # 将numpy数组转换为Python列表
df['average'] = df['coordinates'].apply(compute_average)
最终,df的结构如下:
coordinates average
0 [1, 2] [4.0, 5.0]
1 [3, 4] [4.0, 5.0]
2 [5, 6] [4.0, 5.0]
3 [7, 8] [4.0, 5.0]
在这个例子中,我们使用了pandas、numpy库进行处理。pandas用于数据框操作,numpy用于数组计算。通过apply方法和自定义函数,我们成功地计算了包含坐标列表的列的平均值,并将结果存储在了新的列中。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云