【问题标题】:Pandas column: applying a functionPandas 专栏:应用函数
【发布时间】:2019-03-07 23:38:14
【问题描述】:

我有一个熊猫数据框 df

df:

GROUP VALUE
 1     5
 2     2
 1     10
 2     20
 1     7

我正在尝试在其中一列上应用以下函数

import pandas as pd
from statsmodels import robust
import numpy as np

def madout(x):
    mad = robust.mad(x)
    median = np.median(x)
    mad_s = (abs(x - median / mad))
    return mad_s

df.VALUE.apply(madout)

但尽管我多次尝试仍收到错误

AxisError:轴 0 超出了维度 0 数组的范围。 请帮忙

【问题讨论】:

  • 哪一行报错了?

标签: python pandas apply axis


【解决方案1】:

apply 将把函数应用于df.VALUE 列的每个元素。

我认为您正在寻找的是:

In [8]: madout(df.VALUE)
Out[8]: 
0     3.426191
1     0.426191
2     8.426191
3    18.426191
4     5.426191
Name: VALUE, dtype: float64

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-29
    • 1970-01-01
    • 1970-01-01
    • 2017-03-27
    • 2022-11-19
    • 2018-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多