簡體   English   中英

如何挑選多個pandas Dataframe並在單個命令中連接所有這些pandas

[英]How to pickle multiple pandas Dataframes and concatenate all of them in single command

Files =['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
fout='/PATH/df/{}/{}.F.K.df'.format('train',Files[0])
df1=pd.read_pickle(fout)
df1 = df1[df1.columns[:100]]

fout='/PATH/df/{}/{}.F.K.df'.format('train',Files[1])
df2=pd.read_pickle(fout)
df2 = df2[df2.columns[:100]]

fout='/PATH/df/{}/{}.F.K.df'.format('train',Files[2])
df3=pd.read_pickle(fout)
df3 = df3[df3.columns[:100]]

fout='/PATH/df/{}/{}.F.K.df'.format('train',Files[3])
df4=pd.read_pickle(fout)
df4 = df4[df4.columns[:100]]

fout='/PATH/df/{}/{}.F.K.df'.format('train',Files[4])
df5=pd.read_pickle(fout)
df5 = df5[df5.columns[:100]]

fout='/PATH/df/{}/{}.F.K.df'.format('train',Files[5])
df6=pd.read_pickle(fout)
df6 = df6[df6.columns[:100]]

fout='/PATH/df/{}/{}.F.K.df'.format('train',Files[6])
df7=pd.read_pickle(fout)
df7 = df7[df7.columns[:100]]

fout='/PATH/df/{}/{}.F.K.df'.format('train',Files[7])
df8=pd.read_pickle(fout)
df8 = df8[df8.columns[:100]]

df = pd.concat([df1, df2, df3, df4, df5, df6, df7, df8], axis = 1)
df = df.loc[:,~df.columns.duplicated()]

我有以下命令,前8個塊都是重復的代碼,修改非常少。 有沒有辦法可以做這樣的事情:

[pd.read_pickle('/PATH/df/{}/{}.FKdf'.format('train',Files[i])) for i in Files]

但是,這只是給了我許多數據幀,這些數據幀將被設置為相同的變量,我不知道如何將它映射到8個不同的數據幀,然后將它們全部連接起來。

您的問題是您正在創建任意數量的變量,而這些變量是您不需要的。 使用Files將DataFrame讀入一個列表,然后將其連接起來。

df = pd.concat([pd.read_pickle('/PATH/df/{}/{}.F.K.df'.format('train', f)).iloc[:, :100] 
                for f in Files], 
               axis=1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM