python - 如何先过滤数据框,然后匹配熊猫中的相同数据框?
问题描述
我有两个数据框。df1 和 df2。我想根据 df1 的值过滤 df2 ,然后计算值的频率并再次与 df1 进行比较。
例子:
df1:
Project_Number
S100
S100
S200
S300
S300
S300
S400
S400
df2:
Project_Number
S100
S200
S200
S300
S300
S300
S500
现在首先根据 df1 的值过滤 df2。仅保留 df1 中存在的那些值。
df2_new:
Project_Number
S100
S200
S200
S300
S300
S300
现在取两个数据帧的频率-
df1['Count'] = df1['Project_Number'].map(df1['Project_Number'].value_counts())
df2_new['Count'] = df2_new['Project_Number'].map(df2_new['Project_Number'].value_counts())
df1- df2_new
Project_Number Count Project_Number Count
S100 2 S100 1
S200 1 S200 2
S300 3 S300 3
S400 2
现在取上述 2 个数据帧之间的差异并打印结果-
df_difference-
Project_Number
S100
S200
S400
解决方案
要过滤,请尝试使用isin
df2_new = df2[df2["Project_Number"].isin(df1["Project_Number"].unique().tolist())]
推荐阅读
- python - 从 Python 中不同目录中存储的具有相似名称的文件创建单个数据框
- angular - 如何以角度进行页面缓存
- azure - 逻辑应用程序:在 Json 对象数组中查找元素(如 XPath fr XML)
- c++ - 如何在 C++ 中“退出当前函数,如果当前语句出错”
- angular - 客户端代码中的 Webpack 编译哈希
- sql-server - 数据库中所有表的系统版本控制(临时表)
- java - Fuseki 服务器不显示数据集
- python - TensorFlow Serving:将图像传递给分类器
- php - 使用 form_open 函数将 get 参数添加到 URL?
- html - 在 react spa 应用程序中有条件地应用 css 样式