python - Python Pandas Lambda行重命名匿名函数?
问题描述
我想将带有 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])
我希望每个分别<lambda>
是Q10
和Q90
。
解决方案
使用__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
推荐阅读
- date - 在打印文件名中包含当前日期
- github - 跨组织将问题移动到不同的存储库
- liquibase - 具有除 .sql 之外的其他扩展名的格式化 SQL 变更日志
- javascript - 存储动态创建的控件的值
- awk - 如何用bash在短时间内选择大文件中的有用信息
- xamarin - 如何在 Xamarin 表单应用程序中使用来自 salesforce 的 ServiceCore 框架?
- python - 在 tkinter 的下拉菜单/弹出菜单中添加检查按钮,动态输入以列表的形式出现
- python - IPython 中的常量名称错误
- python - 如何从 Django CharField 解码错误的编码“b'\\xc3\\xb1'”
- python - 在 sklearn.metrics.f1_score 中使用标签参数