如何在熊猫中为 concat 添加指标列?

Mar*_*bak 4 python merge concat pandas

随着merge()有一个指标参数,这样你就可以找出从中df,可以你的原始数据中找到。我没有看到与concat().

pd.merge(left=df1, right=df2, indicator=True)
Run Code Online (Sandbox Code Playgroud)

有没有办法创建一个指标列concat()

Mar*_*bak 5

我最终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
Run Code Online (Sandbox Code Playgroud)


Jua*_*les 5

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])
Run Code Online (Sandbox Code Playgroud)

df1

  letter
0      a
1      b
Run Code Online (Sandbox Code Playgroud)

df2

  letter
2      c
3      d
4      e
Run Code Online (Sandbox Code Playgroud)

结果

    level_0 letter
0  from_df1      a
1  from_df1      b
2  from_df2      c
3  from_df2      d
4  from_df2      e
Run Code Online (Sandbox Code Playgroud)

  • 将 `names=['source']` 添加到 `concat` 函数以命名列 (4认同)