У меня есть папка с многочисленными CSV файлов, которые выглядят так:Объединение DataFrames внутри цикла
csv1
2006 Percent Land_Use
0 13 5.379564 Developed
1 8 25.781580 Grass/Pasture
2 4 54.265050 Crop
3 15 0.363983 Water
4 16 6.244104 Wetlands
5 6 4.691764 Forest
6 1 3.031494 Alfalfa
7 11 0.137424 Shrubland
8 5 0.003671 Vetch
9 3 0.055412 Barren
10 7 0.009531 Grass
11 12 0.036423 Tree
csv2
2007 Percent Land_Use
0 13 2.742430 Developed
1 4 56.007242 Crop
2 8 24.227963 Grass/Pasture
3 16 8.839979 Wetlands
4 6 6.181062 Forest
5 1 1.446668 Alfalfa
6 15 0.366116 Water
7 3 0.127760 Barren
8 11 0.034426 Shrubland
9 7 0.000827 Grass
10 12 0.025528 Tree
csv3
2008 Percent Land_Use
0 13 1.863809 Developed
1 8 31.455578 Grass/Pasture
2 4 57.896856 Crop
3 16 2.693929 Wetlands
4 6 4.417966 Forest
5 1 1.239176 Alfalfa
6 7 0.130849 Grass
7 15 0.266536 Water
8 11 0.004571 Shrubland
9 3 0.030731 Barren
и Я хочу объединить их все вместе в один D ataFrame на Land_Use
Я читаю в файлах, как это:
pth = (r'G:\')
for f in os.listdir(pth):
df=pd.read_csv(os.path.join(pth,f)
, но я не могу понять, как объединить все отдельные dataframes после этого. Я понял, как их конкатенировать, но это не то, что я хочу. Тип слияния, который я хочу, - outer
.
Если бы я был использовать путь к каждому файлу CSV я бы объединить их, как это, но я не хочу, чтобы установить путь к каждому файлу, есть многие из них:
one=pd.read_csv(r'G:\one.csv')
two=pd.read_csv(r'G:\two.csv')
three=pd.read_csv(r'G:\three.csv')
merge=pd.merge(one,two, on=['Land_Use'], how='outer')
mergetwo=pd.merge(merge,three,on=['Land_Use'], how='outer')
, но в моем цикле каждый файл данных называется 'df'. Как я могу назначить их 'df1',' df2', 'df3' и т. Д.? –
Я знаю, что это не часть вопроса, но на самом деле у меня есть файлы, которые имеют «Land_Use» не в моем примере, например «Растительность». Этот метод исключает «Land_Use», потому что он не находится в файле 'left' или' right'. Есть ли возможность включить все «Land_Uses»? –