gpt4 book ai didi

python - pandas框架下如何减少一个字符串最长的数据?

转载 作者:太空狗 更新时间:2023-10-30 01:07:51 24 4
gpt4 key购买 nike

如何在pandas框架下归约一个字符串最长的数据?我尝试了以下代码,但得到了 ValueError: invalid number of arguments

def f1(s):
return max(s, key=len)

data.groupby('id').agg({'name':(lambda s: f1(s)) })

例。输入

id name
GB "United Kingdom"
GB England
US "United States"
US America

输出:

id name
GB "United Kingdom"
US "United States"

最佳答案

代码应该可以工作。顺便说一句,您不需要将 f1 包装在另一个 lambda 中。只需传递 f1。 (它们具有完全相同的参数签名)

>>> import pandas as pd
>>>
>>> def f1(s):
... return max(s, key=len)
...
>>> data = pd.DataFrame([
... {'id': 'GB', 'name': '"United Kingdom"'},
... {'id': 'GB', 'name': 'England'},
... {'id': 'US', 'name': '"United States"'},
... {'id': 'US', 'name': 'America'},
...
... ])
>>> data.groupby('id').agg({'name': f1})
name
id
GB "United Kingdom"
US "United States"

关于python - pandas框架下如何减少一个字符串最长的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27715744/

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