python - 熊猫和复杂的过滤和合并/加入多个子数据帧
问题描述
我有一个看似复杂的问题,我对如何解决它有一个大致的想法,但我不确定这是否是解决它的最佳方法。我会给出这个场景,并会感谢任何关于如何打破它的帮助。我对 Pandas 还很陌生,所以请原谅我的无知。
情景
我有一个作为数据框导入的 CSV 文件。我正在处理的示例包含 2742 行 × 136 列。行是可变的,但列是设置的。我有一组 23 个查找表(也作为 CSV 文件)命名为每年,每季度(范围是 2020 年第三季度 - 2015 年第一季度)查找文件的名称如下:PPRVU203.csv。所以它包含 2020 年第三季度的值。查找表由两列(“代码”和“模块”)匹配,我使用查找中关联的三个值。
我正在尝试过滤数据框的各个部分,从匹配的查找文件中提取正确的值,合并回原始子集,然后替换为原始数据框。
想法
我可能可以将其抽象并包装在一个函数中,但不确定如何重新放入。我的问题是,对于那些比我更了解 Pandas 的人,过滤、替换值和写回文件的最佳方法是什么.
直接的解决方案是将原始数据帧过滤成 23 个单独的数据帧,然后对每个单独的文件进行合并,然后合并成一个新的数据帧并输出到 CSV。
这似乎效率很低?
我可以发布代码,但我正在寻找更多高级想法?
解决方案
不确定您的 DataFrame 到底是什么样子,但Pandas.query()方法可能对数据的选择很有用。
name = df.query('columnname == "something"')
推荐阅读
- firebase - Firebase 云消息传递不适用于三星互联网
- php - LARAVEL 同时选择 2 个表
- postgresql - 如何编写 Postgres JSONB Where clausule
- javascript - 如何将第三张图片中的第二张图片定位在 div 的中心,并在加载时隐藏溢出
- java - 如何在spring应用程序中将JDK版本从java版本“1.8.0_152”升级到jdk-8u211
- javascript - 判断函数是功能性 React 组件还是普通函数的可靠方法
- angular - ngClass 不适用于自定义选择器和扩展组件
- python - 如何将输入正负都作为整数?帮我解决这个问题
- javascript - 如何获取 td usig javascript 的当前值。?
- kubernetes - GKE 和 GAE 之间的防火墙规则