我存储了2000个Pandas Dataframe ,每个 Dataframe 的大小为(X,2),其中X可以是大于100的任意正整数,例如:
##Dataframe 1
entry. feature
entry1 716
entry2 373
entry3 837
##Dataframe 2
entry. feature
entry1 173
entry2 0
entry4 981
entry5 717
##Dataframe 2
entry. feature
entry1 716
entry5 736
我希望最终的 Dataframe 看起来像:
##Dataframe 1
entry. Dataframe1. DataFrame2 Dataframe3
entry1 716 173 716
entry2 373 0 0
entry3 837 0 0
entry4 0 981 0
entry5 0 717 736
所以我想要实现的是,我想要在条目列的基础上连接这些 Dataframe 。如果给定的条目不存在于 Dataframe 中,例如条目2不存在于 Dataframe 3中,那么我想要在那里将值设置为0。我如何使用我拥有的2000个 Dataframe 来实现这一点?请提供见解。
2条答案
按热度按时间umuewwlo1#
您可以将
pandas.concat
与axis=1
选项一起使用,以便按列连接:如果数据存储在磁盘上的文件中,假设文件名为/tmp/dfXXX.csv,则将
glob
模块与pandas.read_csv
结合使用:输出:
注意:我在这里使用了
'\s+'
作为分隔符,但是根据csv文件的实际分隔符,这可能会有所不同nuypyhwy2#
您可以使用pd.merge df3_merged = pd.merge[df1,df2]
甚至可以使用左连接或右连接。df3_merged = pd.merge[df1,df2,how = 'left']