Python 我想合并2个xlsx数据帧-匹配并将数据复制到多行
我想根据邮政编码匹配将dataframe2的一行复制到DataFrame1中的多行 示例dataframe1Python 我想合并2个xlsx数据帧-匹配并将数据复制到多行,python,pandas,dataframe,Python,Pandas,Dataframe,我想根据邮政编码匹配将dataframe2的一行复制到DataFrame1中的多行 示例dataframe1 postcode price type 1 2000 150 A 2 2000 250 B 3 2001 350 C 4 2001 550 A 5 2001 650 B 6 2004 750 C 示例dataframe2
postcode price type
1 2000 150 A
2 2000 250 B
3 2001 350 C
4 2001 550 A
5 2001 650 B
6 2004 750 C
示例dataframe2
postcode lat lon
1 2000 1.2 1.2
2 2001 1.3 1.5
3 2002 1.5 1.2
4 2003 1.6 1.5
5 2004 1.7 1.8
6 2005 1.9 1.98
7 2006 1.2 1.2
8 2007 1.3 1.5
9 2008 1.5 1.2
10 2009 1.6 1.5
11 2010 1.7 1.8
12 2011 1.9 1.98
postcode price type lat lon
1 2000 150 A 1.2 1.2
2 2000 250 B 1.2 1.2
3 2001 350 C 1.3 1.5
4 2001 550 A 1.3 1.5
5 2001 650 B 1.3 1.5
6 2004 750 C 1.9 1.98
根据邮政编码合并最终数据帧,并从dataframe2中丢弃不必要的数据
postcode lat lon
1 2000 1.2 1.2
2 2001 1.3 1.5
3 2002 1.5 1.2
4 2003 1.6 1.5
5 2004 1.7 1.8
6 2005 1.9 1.98
7 2006 1.2 1.2
8 2007 1.3 1.5
9 2008 1.5 1.2
10 2009 1.6 1.5
11 2010 1.7 1.8
12 2011 1.9 1.98
postcode price type lat lon
1 2000 150 A 1.2 1.2
2 2000 250 B 1.2 1.2
3 2001 350 C 1.3 1.5
4 2001 550 A 1.3 1.5
5 2001 650 B 1.3 1.5
6 2004 750 C 1.9 1.98
请注意,我不想使用geopandas或gmapsapi,我希望使用if语句或类似的语句尽可能简单地合并
谢谢是的,有一种非常简单的方法可以做到这一点。您可以使用pandas函数执行此操作:
final = pd.merge(df1,df2,on='postcode')
返回
postcode price type lat lon
0 2000 150 A 1.2 1.2
1 2000 250 B 1.2 1.2
2 2001 350 C 1.3 1.5
3 2001 550 A 1.3 1.5
4 2001 650 B 1.3 1.5
5 2004 750 C 1.7 1.8
它不起作用,似乎已经截取了最终的数据帧。我有数百个邮政编码,但最后的数据框被裁剪为只有四个邮政编码。请注意,两个数据帧的行数不相同。用于在link-[link]中下载的数据帧