如何为pandas中的concat添加指标列?

时间:2018-03-31 02:03:26

标签: python pandas merge concat

merge()有一个指标参数,因此您可以识别找到原始数据的df。我没有看到concat()的类似功能。

pd.merge(left=df1, right=df2, indicator=True)

有没有办法用concat()创建指标列?

2 个答案:

答案 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