需要帮助将两列的唯一组合添加到 Pandas 中的同一数据框中。 我想要那个“nos”列。
Input:
id acct_nos name
1 1a one
1 1a two
2 2b three
3 3a four
3 3b five
3 3c six
3 3d seven
这是我想要的输出:
Output:
id acct_nos nos name
1 1a 1 one
1 1a 1 two
2 2b 1 three
3 3a 4 four
3 3b 4 five
3 3c 4 six
3 3d 4 seven
在上面的例子中 id=1 只有 1 个 acct_nos-1a,所以 nos 的值必须为 1。 id=3 只有 4 个 acct_nos-3a 到 3d,所以 nos 的值必须是 4。
不确定如何将它放入 Python Pandas 中。我能弄清楚的 SQL 查询。
谢谢
最佳答案
您可以使用 groupby.transform
和 nunique()
函数来计算每个 id 的唯一元素的数量:
df['nos'] = df.groupby("id")['acct_nos'].transform("nunique")
df
关于python - Pandas :计算两列的不同组合并添加到同一数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43442450/