目录
1)dataframe类型数据和dataframe类型数据对齐(对齐NAME列);
数据对齐后的数据集(通过pandas.merge()函数对齐):
2)dataframe类型数据和geopandas类型数据对齐(对齐STATE_NAME字段);
数据对齐前的两组数据集(两个数据集都有很多行,这里只截取其中一部分):
0.环境
1.适用场景
2.pandas.merge()函数详细介绍
3.名词解释“数据对齐”(来自chatGPT3.5)
4.本文将给出两种数据对齐的例子
1)dataframe类型数据和dataframe类型数据对齐(对齐NAME列);
-
数据对齐前的两组数据集:
-
数据对齐后的数据集(通过pandas.merge()函数对齐):
可以看到两个数据集A和B通过NAME字段进行了对齐
-
代码
import pandas as pd
# 创建第一个DataFrame
data1 = {'ID': [1, 2, 3],
'NAME': ['Alice', 'Bob', 'Charlie'],
'AGE': [25, 30, 35]}
df1 = pd.DataFrame(data1)
print(df1)
print("\n")
# 创建第二个DataFrame
data2 = {'ID': [1, 2, 3],
'NAME': ['Bob', 'Charlie', 'Alice'],
'CITY': ['New York', 'London', 'Paris']}
df2 = pd.DataFrame(data2)
print(df2)
print("\n")
# 使用merge方法对齐两个DataFrame的'NAME'列
merged_df = pd.merge(df1, df2, on='NAME')
# 打印对齐后的DataFrame
print(merged_df)
2)dataframe类型数据和geopandas类型数据对齐(对齐STATE_NAME字段);
-
数据对齐前的两组数据集(两个数据集都有很多行,这里只截取其中一部分):
-
数据对齐后得到一组geopandas类型数据:
可以看到通过STATE_NAME字段,将两个数据集合成了一个geopandas类型的数据集,具体是将两个数据集的所有列根据STATE_NAME字段排序并整合进一个数据集内,还有很多行和列,无法在一个界面显示,这里只截取一部分
-
代码
注意:代码运行前需要安装对于的模块,如pysal 、geopandas、libpysal等,可以在【Anaconda prompt中用pip install XXX命令下载】
具体下载过程可以参考博客:
下载geopandas包
import pysal as ps
import geopandas as gpd
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
# your code here
from libpysal import examples
#2009年的人均收入数据
income_data = examples.get_path('usjoin.csv')
#用pandas读数据
usincome = pd.read_csv(income_data)
#重命名dataframe数据(usincome)的Name列
usincome.rename(columns={'Name':'STATE_NAME'}, inplace=True)
# print(type(usincome))
print("对齐前dataframe类型数据:\n")
print(usincome)
#48个州的形状
us_states = examples.get_path('us48.shp')
us48 = gpd.read_file(us_states )
# print(type(us48))
print("\n对齐前geopandas类型数据:\n")
print(us48)
#数据对齐 STATE_NAME
merged_gdf = us48.merge(usincome, on='STATE_NAME')
# print(type(merged_gdf))
print("\n对齐后geopandas类型数据:\n")
print(merged_gdf)
参考:
(35条消息) python pandas.merge()函数 详解_python中merge函数用法_Late whale的博客-CSDN博客pandas数据合并之一文弄懂pd.merge() - 知乎 (zhihu.com)(35条消息) python pandas.merge()函数 详解_python中merge函数用法_Late whale的博客-CSDN博客
--END--