python - 比较数据帧并输出计数匹配的数量
问题描述
我想计算一个数据帧在另一个数据帧中的出现次数并输出匹配的计数。
df
group1 group2
0 orange orange
1 apple apple
2 banana pear
3 banana banana
.
fruit_df
fruits
0 orange
1 banana
所以:
groups = ["group1", "group2"]
matrix = pd.DataFrame()
for group in groups:
out = fruit_df["fruits"].isin(df[group]).astype(int)
matrix = pd.concat([matrix, out], axis = 1)
matrix.columns = groups
matrix = matrix.rename(index = fruit_df["fruits"])
结果是:
matrix
group1 group2
orange 1 1
banana 1 1
我想要的是:
matrix
group1 group2
orange 1 1
banana 2 1
解决方案
推荐阅读
- html - 我正在尝试使用模型表单小部件更新模型。除了 forms.DateField 之外的所有字段都可以在 HTML 表单中进行编辑
- r - 使用 dplyr 子集嵌套数据框
- unity3d - 我从游戏中删除了 Unity 广告服务,但 google play 仍然说我的应用包含广告
- css - 在缩略图上附加播放按钮
- python-3.x - Pyspark 数据框 OrderBy 列列表
- python - 如何在 Python 中解析 JSON 并将 2 个字段放入字典中?
- python - 如何在python中循环列表?
- javascript - 将 Next.js 升级到 v6.0.3 后 Storybook 无法编译
- c++ - “xvalue 有身份”是什么意思?
- batch-file - 如何将多个参数传递给 Windows 批处理文件或批处理函数?