map()函数如何在Python中的Lambda函数中工作?

时间:2018-02-01 01:03:55

标签: python python-3.x python-2.7

有人可以在这里解释一下aggfunc实际发生了什么 -

df.pivot_table(values='Loan_Status', index=['Credit_History'],
               aggfunc=lambda x: x.map({'Y':1,'N':0}).mean())

谢谢

1 个答案:

答案 0 :(得分:0)

下面的例子应该说明发生了什么。 Loan_Status值由Credit_History按照逻辑"汇总Y的数量并除以观察总数"。

import pandas as pd

df = pd.DataFrame([['Y', 'A'], ['N', 'B'], ['Y', 'C'], ['N', 'A'], ['Y', 'C']],
                  columns=['Loan_Status', 'Credit_History'])

df.pivot_table(values='Loan_Status', index=['Credit_History'],
               aggfunc=lambda x: x.map({'Y':1,'N':0}).mean())

#                 Loan_Status
# Credit_History             
# A                       0.5
# B                       0.0
# C                       1.0