熊猫和复杂的过滤以及合并/合并多个子数据帧

时间:2020-08-07 19:24:20

标签: python pandas

我有一个看似复杂的问题,我对应该如何解决有一个大致的了解,但是我不确定这是否是解决问题的最佳方法。我将给出该方案,并希望对如何解决此问题提供任何帮助。我对Pandas不太了解,请原谅我的无知。

场景

我有一个导入为数据框的CSV文件。我正在处理的示例包含2742行×136列。行是可变的,但列已设置。我有一组23个查找表(也称为CSV文件),每年命名,每个季度命名(范围是2020年第3季度-2015年第1季度)。查找文件的命名如下:PPRRVU203.csv。因此,其中包含2020年第三季度的值。查找表由两列(“代码”和“模块”)匹配,我使用与查找相关联的三个值。

我试图过滤数据框的各个部分,从匹配的查找文件中提取正确的值,合并回原始子集,然后替换为原始数据框。

想法

我可能可以对此进行抽象并包装一个函数,但不确定如何放置。我的问题是,对于那些比我更了解熊猫的人,什么是筛选,替换值和编写代码的最佳方法?文件退回。

直接的解决方案是将原始数据帧过滤为23个单独的数据帧,然后对每个文件进行合并,然后合并为新的数据帧并输出为CSV。

这似乎效率很低吗?

我可以发布代码,但是我正在寻找更多高级想法吗?

1 个答案:

答案 0 :(得分:1)

不确定DataFrame的外观如何,但是Pandas.query()方法可能对选择数据很有用。

name = df.query('columnname == "something"')