python - 选择多个值在另一个 DataFrame 中的行
问题描述
我有一个具有以下形式的 DataFrame:
day u a
0 2018-03-01 5658599 suggestion
1 2018-03-01 10405594 suggestion
2 2018-03-01 4142545 suggestion
3 2018-03-01 10397546 suggestion
4 2018-03-01 10296737 suggestion
我想选择(day, u)
出现在的对:
user_id access_date access_platform
0 10405592 2018-03-01 IOS
1 10405594 2018-03-01 ANDROID
2 10405593 2018-03-01 ANDROID
3 10405596 2018-03-01 ANDROID
4 10405597 2018-03-01 ANDROID
哪里u
和是相同的user_id
以及同一行。day
access_date
数据帧很大,是否有一种有效的方法不需要逐行迭代数据帧之一?
一个条目(day, u)
可以在 DataFrame 中出现多次,还有其他字段没有显示。
解决方案
一种方法是内部合并:
res = df1.merge(df2, how='inner', left_on=['day', 'u'],
right_on=['access_date', 'user_id'])\
.loc[:, df1.columns]
print(res)
day u a
0 2018-03-01 10405594 suggestion
推荐阅读
- xmlhttprequest - 使用自定义 Twilio 参数创建 XmlHttpsRequest
- flutter - 防止 MacOS 在 Flutter 中显示重音选择弹出窗口
- javascript - Discord.js V12.5.3 - MessageCollector 问题
- r - 在 R terra 提取中使用 xy=TRUE
- scala - 用一种方法包装泛型函数调用
- php - 启用 PHP 的套接字扩展,取消注释 php.ini 不工作 LARAVEL
- javascript - 在请求有效负载中保持 json 节点可选
- botframework - 具有自适应卡的团队任务模块不会为其他用户打开并导致团队崩溃
- jboss - HQL 将结果行连接成单行
- wordpress - 如何使用 ACF 编号字段对自定义分类进行排序?