【问题标题】:pandas new column counting id's existence in other dataframe [duplicate]熊猫新列计数ID在其他数据框中的存在[重复]
【发布时间】:2021-04-26 04:03:51
【问题描述】:
这是我的初始数据框 dfA:
| idA |
data |
| 1 |
row |
| 2 |
data |
| 3 |
data |
数据框dfB
| idC |
idA |
| 1 |
1 |
| 2 |
1 |
| 3 |
3 |
| 4 |
3 |
| 5 |
3 |
| 6 |
3 |
我正在尝试计算 dfB 中 dfA 的每个 id 存在,并像这样添加到新列中:
| idA |
data |
count |
| 1 |
row |
2 |
| 2 |
data |
0 |
| 3 |
data |
4 |
请问我该怎么做
【问题讨论】:
标签:
python
pandas
dataframe
count
multiple-columns
【解决方案1】:
使用groupby 然后count 得到idC 在每个组idA 中的计数。最后,map计数系列到df1的idA列。
df1['count'] = df1['idA'].map(df2.groupby('idA')['idC'].count()).fillna(0).astype(int)
print(df1)
idA data count
0 1 row 2
1 2 data 0
2 3 data 4