数据框组ID,创建值:列中的计数 [英] Data frame group ID, create value: count in column
本文介绍了数据框组ID,创建值:列中的计数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
给出以下示例数据集:
import numpy as np
import pandas as pd
df1 = (pd.DataFrame(np.random.randint(3, size=(5, 4)), columns=('ID', 'X1', 'X2', 'X3')))
print(df1)
ID X1 X2 X3
0 2 2 0 2
1 1 0 2 1
2 1 2 1 1
3 1 2 0 2
4 2 0 0 0
d = {'ID' : pd.Series([1, 2, 1, 4, 5]), 'Tag' : pd.Series(['One', 'Two', 'Two', 'Four', 'Five'])}
df2 = (pd.DataFrame(d))
print(df2)
ID Tag
0 1 One
1 2 Two
2 1 Two
3 4 Four
4 5 Five
df1['Merged_Tags'] = df1.ID.map(df2.groupby('ID').Tag.apply(list))
print(df1)
ID X1 X2 X3 Merged_Tags
0 2 2 0 2 [Two]
1 1 0 2 1 [One, Two]
2 1 2 1 1 [One, Two]
3 1 2 0 2 [One, Two]
4 2 0 0 0 [Two]
ID = 1
的预期输出:
1.
每个键如何分组并在Merged_Tags
列中生成Tag: Frequency
格式?
How would one groupby each key and generate a Tag: Frequency
format in the Merged_Tags
column?
ID X1 X2 X3 Merged_Tags
1 1 0 2 1 [One: 3, Two: 3]
2.
为具有ID
ID X1 X2 X3 Merged_Tags Frequency
1 1 0 2 1 [One: 3, Two: 3] 3
3.
在每个出现的行中将列X3
的值添加为相同的ID
Add the values of column X3
in each row occurrence with the same ID
ID X1 X2 X3 Merged_Tags Frequency X3++
1 1 0 2 1 [One: 3, Two: 3] 3 4
推荐答案
1 0 2 1 [One: 3, Two: 3]
应该改为[一:2,二:3],对吗?考虑到:
should be [One: 2, Two:3] instead right? Considering that:
1 : [One,Two]
0 : None
2 : [Two]
1 : [One, Two]
并且您想要该行中每个键的总计数器吗?
and you want a total counter of each key in the row ?
如果我在这里遗漏了任何内容,请帮助我理解[One:3,Two:3]背后的直觉,但否则您的问题应该很容易解决
Please help me understand the intuition behind [One:3, Two:3] in case I am missing anything here, but your question should be easy to solve otherwise
这篇关于数据框组ID,创建值:列中的计数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文