Python 通过附加不同大小的列将多个csv文件读入大熊猫数据框
所以我在循环中创建一些数据帧,并将它们保存为csv文件。数据框的列相同,但长度不同。我希望能够将这些数据帧连接到一个包含所有列的数据帧中Python 通过附加不同大小的列将多个csv文件读入大熊猫数据框,python,csv,pandas,Python,Csv,Pandas,所以我在循环中创建一些数据帧,并将它们保存为csv文件。数据框的列相同,但长度不同。我希望能够将这些数据帧连接到一个包含所有列的数据帧中 df1 A、B、C 0 0 1 2 1 0 1 0 2 1.2 1 1 3 2 1 2 df2 A、B、C 0 0 1 2 1 0 1 0 2 0.2 1 2 df3 A、B、C 0 0 1 2 1 0 1 0 2 1.2 1 1 3 2 1 4 4 1 2 2 5 2.3 3 0 我想买点像这样的东西 df
df1
A、B、C
0 0 1 2
1 0 1 0
2 1.2 1 1
3 2 1 2
df2
A、B、C
0 0 1 2
1 0 1 0
2 0.2 1 2
df3
A、B、C
0 0 1 2
1 0 1 0
2 1.2 1 1
3 2 1 4
4 1 2 2
5 2.3 3 0
我想买点像这样的东西
df_大
A B C A B C A B C
0 0 1 2 0 1 2 0 1 2
1 0 1 0 0 1 0 0 1 0
2 1.2 1 1 0.2 1 2 1.2 1 1
3 2 1 2 2 1 4
4 1 2 2
5 2.3 3 0
这是熊猫可以做到的吗?您可以使用:
屈服
A B C A B C A B C
0 0.0 1 2 0.0 1 2 0.0 1 2
1 0.0 1 0 0.0 1 0 0.0 1 0
2 1.2 1 1 0.2 1 2 1.2 1 1
3 2.0 1 2 NaN NaN NaN 2.0 1 4
4 NaN NaN NaN NaN NaN NaN 1.0 2 2
5 NaN NaN NaN NaN NaN NaN 2.3 3 0
呃。。你看了吗?它是一个循环,所以技术上我没有df1,df2…但我可以创建它们并保存它们。或者有没有一种方法可以在飞行中凝聚?谢谢,这太快了。将所有数据帧保存在一个列表中,然后调用
pd.concat(list\u of\u dfs)
一次,以创建df\u big
。在循环内串联效率很低,因为每次调用pd.concat
都需要分配新的内存块,并将数据从片段复制到结果数据帧中。原因也是如此。
A B C A B C A B C
0 0.0 1 2 0.0 1 2 0.0 1 2
1 0.0 1 0 0.0 1 0 0.0 1 0
2 1.2 1 1 0.2 1 2 1.2 1 1
3 2.0 1 2 NaN NaN NaN 2.0 1 4
4 NaN NaN NaN NaN NaN NaN 1.0 2 2
5 NaN NaN NaN NaN NaN NaN 2.3 3 0