gpt4 book ai didi

python - 如何统计一列中的元素并将结果作为新列?

转载 作者:太空狗 更新时间:2023-10-30 01:56:29 25 4
gpt4 key购买 nike

名为df的DataFrame如下所示。

import pandas as pd 
df = pd.DataFrame({'id': [1, 1, 3]})

输入:

   id
0 1
1 1
2 3

我想统计每个id的个数,并将结果作为一个新的列count

预期:

    id  count
0 1 2
1 1 2
2 3 1

最佳答案

pd.factorizenp.bincount

我的最爱。 factorize 不排序,时间复杂度为 O(n)。对于大数据集,factorize 应该优先于 np.unique

i, u = df.id.factorize()
df.assign(Count=np.bincount(i)[i])

id Count
0 1 2
1 1 2
2 3 1

np.uniquenp.bincount

u, i = np.unique(df.id, return_inverse=True)
df.assign(Count=np.bincount(i)[i])

id Count
0 1 2
1 1 2
2 3 1

关于python - 如何统计一列中的元素并将结果作为新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52398889/

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