首页 > 解决方案 > Pandas - 应用于 lambda 函数的列中位数

问题描述

给定数据集:

matrix = [(222, 34, 23),
         (333, 31, 11),
         (444, 16, 21),
         (555, 32, 22),
         (666, 33, 27),
         (777, 35, 11)
         ]
dfObj = pd.DataFrame(matrix, columns=list('abc'))

我想应用公式(value - column median) ^ 2。我正在尝试使用 lambda 和函数,但我没有成功,问题是column median.

值 = 每个单元格;

我该如何应用该功能?

编辑

dfObj['d'] = dfObj['c'].apply(lambda x : math.pow(x, 2) / 10)

标签: pythonpandas

解决方案


这是你需要的吗?

dfObj.div(dfObj.median())**2
Out[116]: 
          a         b         c
0  0.197531  1.094438  1.144402
1  0.444444  0.909822  0.261763
2  0.790123  0.242367  0.954029
3  1.234568  0.969467  1.047052
4  1.777778  1.031006  1.577069
5  2.419753  1.159763  0.261763

推荐阅读