gpt4 book ai didi

python - 为什么 Pandas 给出 AttributeError : 'SeriesGroupBy' object has no attribute 'pct' ?

转载 作者:行者123 更新时间:2023-12-01 23:43:08 24 4
gpt4 key购买 nike

我正在尝试将用户定义的函数 pct 传递给 Pandas agg 方法,如果我只传递该函数,它会起作用,但当我使用时它不会用于定义函数的字典格式。有谁知道为什么吗?

import pandas as pd

df = pd.DataFrame([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]],
columns=['A', 'B', 'C'])

pct = lambda x: len(x)/len(df)

df.groupby('A').agg(pct)

返回预期结果

    B   C
A
1 0.333333 0.333333
4 0.333333 0.333333
7 0.333333 0.333333

但是

aggs = {'B':['pct']}
df.groupby('A').agg(aggs)

返回以下错误:

AttributeError: 'SeriesGroupBy' object has no attribute 'pct'

最佳答案

有字符串'pct',需要变量pct - 删除''的lambda函数:

aggs = {'B':pct}
print(df.groupby('A').agg(aggs))

B
A
1 0.333333
4 0.333333
7 0.333333

关于python - 为什么 Pandas 给出 AttributeError : 'SeriesGroupBy' object has no attribute 'pct' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52642351/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com