我有多个文件。每个对应的城市有一个ID和“卷”列的数据。我试图从csv文件创建 Dataframe 和处理后,我想合并这些 Dataframe 的“ID”与所有“卷”列如下:VOLUME_{CITY},其中{CITY}对应于城市名称。
到目前为止我是这样做的:
data_dir_file = 'Data'
cities = ['NY','Chicago','Boston','Toronto']
dfs = []
for city in cities:
file_name = f'Data_2010_{city}.csv'
df = pd.read_csv(f'{data_dir_file}\{file_name}',sep=';')
df = df[['ID','VOLUME']].drop_duplicates()
dfs.append(df)
df_concat = pd.concat(dfs)
print(df_concat)
因此,这连接了每个 Dataframe ,但我如何通过“ID”合并它们,而不是进行连接?
每个 Dataframe 如下所示
我想要的是这样的东西:
2条答案
按热度按时间piv4azn71#
您可以使用
pd.merge
按ID合并数据(也可以更改列“VOLUME”的名称,否则它们将被重命名为VOLUME_x,VOLUME_y,丢失有关城市的信息)kx7yvsdv2#
如果删除“ID”上的重复项,则可以将ID列定义为索引,然后将所有 Dataframe 一起
concat
。