我有two dataframe以下幾點:
df1:
column1
0 aaa
1 aaa
2 aaa
3 aaa
df2:
column1
0 aaa
1 aaa
2 aaa
3 aaa
我想要concat他們,但我想知道哪個價值來自哪個dataframe
所以我想要一個dataframe贊
df1:
Index column1
0 0_df1 aaa
1 1_df1 aaa
2 2_df1 aaa
3 3_df1 aaa
4 4_df2 aaa
5 5_df2 aaa
6 6_df2 aaa
我知道如何制作索引,column但我無法在其值中添加“識別符號”
uj5u.com熱心網友回復:
我能想到的最快的解決方案:
df1=pd.DataFrame({'column1': ['aaa','aaa','aaa','aaa']})
df2=pd.DataFrame({'column1': ['aaa','aaa','aaa','aaa']})
df1["Index"] = df1.index.astype(str) '_df1'
df2["Index"] = df2.index.astype(str) '_df2'
pd.concat([df1,df2], axis=0, ignore_index=True)
輸出:
column1 Index
0 aaa 0_df1
1 aaa 1_df1
2 aaa 2_df1
3 aaa 3_df1
4 aaa 0_df2
5 aaa 1_df2
6 aaa 2_df2
7 aaa 3_df2
您還可以通過以下方式使用 concat 創建多索引鍵:
pd.concat([df1,df2], keys=['df1','df2'])
這使:
column1
df1 0 aaa
1 aaa
2 aaa
3 aaa
df2 0 aaa
1 aaa
2 aaa
3 aaa
uj5u.com熱心網友回復:
您可以使用資料框的名稱為每個資料框創建一列,然后在連接后將索引添加到此列:
df1 = pd.DataFrame({'column1': ['aaa', 'aaa', 'aaa', 'aaa']})
df2 = pd.DataFrame({'column1': ['aaa', 'aaa', 'aaa', 'aaa']})
df1['Index'] = 'df1'
df2['Index'] = 'df2'
cat = pd.concat([df1, df2], ignore_index=True)
cat['Index'] = cat.index.astype(str) '_' cat['Index'] # add the index
cat = cat[['Index', 'column1']] # reorder the columns
Index column1
0 0_df1 aaa
1 1_df1 aaa
2 2_df1 aaa
3 3_df1 aaa
4 4_df2 aaa
5 5_df2 aaa
6 6_df2 aaa
7 7_df2 aaa
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/358219.html
下一篇:如何求平均速度?
