【问题标题】:How to find element wise mean of two pandas series in python?如何在python中找到两个熊猫系列的元素平均平均值?
【发布时间】:2020-08-31 11:40:15
【问题描述】:

我在一家公司的技术回合中遇到过这个问题。 问题是下面给出了两个系列:

import pandas as pd
import numpy as np
series_A = pd.Series([10,15,12,20])
series_B = pd.Series([12,19,65,13])

我们必须找到这两个系列的元素平均值并将结果存储在新系列 series_C 中

我的方法

series_C = pd.Series(np.mean(series_A,series_B))

但它给出了错误
“TypeError: 'Series' 对象是可变的,因此它们不能被散列”

【问题讨论】:

    标签: python-3.x pandas series


    【解决方案1】:

    numpy mean 将 ndarray 作为第一个参数,将执行均值的轴作为第二个参数。

    您需要做的是将系列存储在某种数组中

    import pandas as pd
    import numpy as np
    series_A = pd.Series([10,15,12,20])
    series_B = pd.Series([12,19,65,13])
    series_C = pd.Series(np.mean(np.stack((series_A, series_B)), axis=0))
    

    这给了我们:

    series_C
    0    11.0
    1    17.0
    2    38.5
    3    16.5
    dtype: float64
    

    【讨论】:

      【解决方案2】:

      IIUC:

      import pandas as pd
      import numpy as np
      series_A = pd.Series([10,15,12,20])
      series_B = pd.Series([12,19,65,13])
      
      series_C = (series_A+series_B)/2
      

      使用 numpy:

      import pandas as pd
      import numpy as np
      series_A = pd.Series([10,15,12,20])
      series_B = pd.Series([12,19,65,13])
      
      series_C = pd.concat([series_A, series_B], axis=1).agg(np.mean, 1)
      0    11.0
      1    17.0
      2    38.5
      3    16.5
      dtype: float64
      

      【讨论】:

        猜你喜欢
        • 2015-09-11
        • 2015-07-18
        • 2023-02-17
        • 2021-03-10
        • 2015-01-21
        • 1970-01-01
        • 2020-10-17
        • 1970-01-01
        相关资源
        最近更新 更多