【问题标题】:pandas: calculate mean of numpy array for each row in a columnpandas:计算列中每一行的numpy数组的平均值
【发布时间】:2015-07-22 16:26:58
【问题描述】:

我有一个 pandas 数据框 df ,其中包含每行包含不同大小的 numpy 数组的列,例如

   column A 
0  np.array([1,2,3])
1  np.array([1,2,3,4])
2  np.array([1,2])

我有一个内置的 pandas 函数,它将返回整个列的每个数组(即行)的平均值?类似的东西:

df.A.mean()

但它对每一行都起作用。感谢您的帮助。

【问题讨论】:

    标签: python arrays numpy pandas


    【解决方案1】:

    您可以使用df.<column>.map 将函数应用于列中的每个元素:

    df = pd.DataFrame({'a': 
        [np.array([1, 2, 3]), 
         np.array([4, 5, 6, 7]), 
         np.array([7, 8])]
    })
    
    df
    Out[8]: 
                  a
    0     [1, 2, 3]
    1  [4, 5, 6, 7]
    2        [7, 8]
    
    df['a'].map(lambda x: x.mean())
    Out[9]: 
    0    2.0
    1    5.5
    2    7.5
    Name: a, dtype: float64
    

    【讨论】:

      猜你喜欢
      • 2021-07-24
      • 2020-12-09
      • 1970-01-01
      • 2021-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-02
      • 2021-07-17
      相关资源
      最近更新 更多