gpt4 book ai didi

python - pandas 对列值应用 lambda 并选择那些设置大小大于 1 的值

转载 作者:太空宇宙 更新时间:2023-11-04 09:45:37 26 4
gpt4 key购买 nike

我正在尝试选择 df 中的行,在每一行中,列值的设置大小为 > 1;

df = pd.DataFrame({'col': [1, 2, 3],
'a': [41, 4, 5],
'b': [3, 13, 6]})

df['concat'] = (df['a'].astype(str) + df['b'].astype(str))

df.groupby('concat')['col'].apply(set).to_dict()

但这仅适用于 set 到每一列 ('col') 值。

python 阻止我

df.groupby('concat')['col'].apply(lambda x: set(x) if len(set(x)) > 1).to_dict()    

最佳答案

这里可以使用 str.len因为 set 是可迭代的:

s = df.groupby('concat')['col'].apply(set)

d = s[s.str.len() > 1].to_dict()
print (d)
{'413': {1, 2}}

关于python - pandas 对列值应用 lambda 并选择那些设置大小大于 1 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49940115/

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