Python Pandas Lambda 行重命名匿名函数?

标签 python pandas rename

我想将 Q10 和 Q90 的分位数函数重命名为 pandas 结果。

import numpy as np
import pandas as pd
quantile10 = lambda myDf :  myDf.quantile(q=0.10)
quantile90 = lambda myDf :  myDf.quantile(q=0.90)
df.agg([min,max, np.median, np.std, pd.DataFrame.mean, quantile10, quantile90])

enter image description here

我期望每个 <lambda>成为Q10Q90 ,分别。

最佳答案

使用__name__:

df = pd.DataFrame({'B':[4,5,4,5,5,4],
                   'C':[7,8,9,4,2,3],
                   'D':[1,3,5,7,1,0],
                   'E':[5,3,6,9,2,4]})

quantile10 = lambda myDf :  myDf.quantile(q=0.10)
quantile10.__name__ = 'Q10'
quantile90 = lambda myDf :  myDf.quantile(q=0.90)
quantile90.__name__ = 'Q90'

df = df.agg([min,max, np.median, np.std, pd.DataFrame.mean, quantile10, quantile90])

print (df)

               B         C         D         E
min     4.000000  2.000000  0.000000  2.000000
max     5.000000  9.000000  7.000000  9.000000
median  4.500000  5.500000  2.000000  4.500000
std     0.547723  2.880972  2.714160  2.483277
mean    4.500000  5.500000  2.833333  4.833333
Q10     4.000000  2.500000  0.500000  2.500000
Q90     5.000000  8.500000  6.000000  7.500000

关于Python Pandas Lambda 行重命名匿名函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51265834/

相关文章:

c - rename() 仅适用于程序运行的目录?

python - 发布一个最小环境的Python程序

python - 弗洛伊德-沃歇尔算法 : get the shortest paths

python - Pandas 根据同一数据框中的另一个系列拆分一个系列

python - 如何有效地从 Pandas 数据框中减去每一行?

windows - 如何在 Windows 中使用 File-Rename 又名 Perl 的重命名?

python - 使用 Python 或 TypeScript 转换我在 VSCode 中选择的文本

python - 使用 python 绘制数千个文件

python - 如何使用 python-pandas 基于互信息合并两个数据帧?

r - 替换 R 中所有列名称中的多个句点