【问题标题】:How do I use Dataframe apply function to normalize Data如何使用 Dataframe 应用函数来规范化数据
【发布时间】:2020-02-14 19:31:08
【问题描述】:

我正在尝试使用我已经获得的平均值和标准值对新数据进行标准化。

t = np.array([[1,2,3],
     [4,5,6],
     [7,8,9]])

tt = np.array([[1,1,1],
     [100,100,100]])

a = pd.DataFrame(t, columns=['a','b','c'])
b = pd.DataFrame(tt, columns=['a', 'b', 'c'], index=['mean', 'std'])

def standardize(x, y):
    return (x - y.loc['mean']) / y.loc['std']

a.apply(standardize(a,b))

我想获得标准化的数据帧,每个值都是通过“b”数据帧的平均值和使用应用函数在每列上的标准计算得出的

ex) a[0]['a'] = (a[0]['a'] - b['mean']['a']) / b['std'][a]

任何更好的方法也可以。谢谢..

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    你已经拥有了。使用standardize(a,b) 而不是a.apply(standardize(a,b))

    【讨论】:

      【解决方案2】:
      (a-b.loc['mean'])/b.loc['std']
      

      如果你将b定义为b=b.T,那么

      (a-b['mean'])/b['std']
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-04-14
        • 2016-07-23
        • 2016-06-04
        • 2019-09-27
        • 2020-07-31
        • 2014-07-07
        • 2018-09-20
        相关资源
        最近更新 更多