merge()
有一个指标参数,因此您可以识别找到原始数据的df。我没有看到concat()
的类似功能。
pd.merge(left=df1, right=df2, indicator=True)
有没有办法用concat()
创建指标列?
答案 0 :(得分:1)
import pandas as pd
df1 = pd.DataFrame(['a','b'], index=[0,1], columns=['letter'])
df2 = pd.DataFrame(['c','d','e'], index=[2,3,4], columns=['letter'])
result = pd.concat([df1, df2], axis=0, keys=['from_df1','from_df2']).reset_index(level=[0])
df1
letter
0 a
1 b
df2
letter
2 c
3 d
4 e
结果
level_0 letter
0 from_df1 a
1 from_df1 b
2 from_df2 c
3 from_df2 d
4 from_df2 e
答案 1 :(得分:0)
我最终在每个文件中创建了一个标记为FileName
的新列,然后我concat()
。
df1['FileName'] = 'df1'
df2['FileName'] = 'df2'
final = pd.concat(df1,df2)
Column1 Column2 Column3 FileName
3 89 08 df1
43 934 34 df1
34 934 32 df2
431 2342 23 df2