所以我有两个数据框,我试图通过一列加入。但是,这两个数据帧之间的公共列是不同的,其中一个数据帧中的值是全名,而另一个数据帧中的值是缩写。我正在尝试制作某种映射字典,将名称等同于它们的缩写,因此数据框可以通过这个公共列直接连接。我将在下面进一步解释。
我有这个数据框(A):
Building Style CO2 NOx
---------------------------------------------------
Multi-Family A 34 55
Multi-Family B 43 44
Multi-Family C 33 35
Single-Family A 34 26
Single-Family B 22 26
Single-Family C 65 48
Single-Family D 55 74
Studio A 46 35
Studio B 54 67
Studio C 57 58
然后我有这个数据框(B):
Building Style Zip_code Number
---------------------------------------
MF A 11111 4
MF A 22222 3
MF A 33333 2
MF B 11111 1
MF B 22222 1
MF C 22222 1
MF C 33333 6
SF A 11111 7
SF A 22222 5
SF B 44444 3
SF B 55555 8
SF B 66666 6
SF C 11111 9
SF C 22222 9
ST A 33333 3
ST A 44444 5
ST B 55555 5
ST B 66666 3
ST C 11111 2
ST C 22222 9
ST C 33333 1
现在我想创建以下数据框(C):
Zip_code CO2 NOx
-------------------------
11111 ? ?
22222 ? ?
33333 ? ?
44444 ? ?
55555 ? ?
66666 ? ?
我将进一步解释这一点。我有建筑物的数据,显示对应于 3 种类型建筑物的 3 种类型建筑物的 CO2 和 NOx 排放(数据框 A)。然后我有数据显示在每个列出的邮政编码(数据框 B)中有多少这些类型的房屋。我最终想创建一个数据框,显示每个邮政编码的总排放量,包括二氧化碳和氮氧化物(数据框 C)。获取 Dataframe C 背后的想法是,我想生成一个数据框,然后可以通过邮政编码将其连接到 GIS shapefile,这样我就可以绘制每个邮政编码中的 CO2 和 NOx 排放量,获得要加入的空白邮政编码 shapefile至。(我意识到映射排放比这复杂得多,但我在项目的这个阶段保持这个简单)。
所以我想要做的是在“建筑”列上将数据框 A 连接到数据框 B。但问题是 Dataframe A 中的“Building”列的名称是完整的,而 Dataframe B 中的“Building”列的名称是缩写。我想我需要创建某种字典,将全名与其要引用的缩写相匹配,但我不知道如何将其放入此处。
这可以在python中完成吗?还是这实际上比我想象的要复杂得多?我花了好几个小时试图围绕如何合并这两个数据框来思考,但每次我都会变得更加困惑。我在概念化这段代码的样子时遇到了很多麻烦,即使目标看起来很简单。我将不胜感激任何帮助或指导!很抱歉让这些数据帧这么长,但我觉得有必要捕捉数据的结构/复杂性。
谢谢!