有没有一种方法可以将2个数据帧与Labda函数合并?

时间:2020-03-04 09:37:39

标签: python pandas dataframe join merge

我有2个数据框:

第一个包含“个人和姓名”列表的列如下:

姓氏,名字

第二个包含更多内容,但名称列看起来其他:

姓氏(有时还包括数字或字母)

我应该合并数据框。我是否只是迭代每一行并创建一个新的数据框,还是还有其他内容?

数据帧示例:

list1 = [
  {
    'Name': 'Mann, Max', 
    'Position': 'Support'
  },
  {
    'Name': 'Fischer, John',
    'Position': 'Student'
  }
]

list2 = [
  {
    'Name': 'John 12 Fischer',
   //further
  },
  {
    'Name': 'Max Mann E',
   //further
]

1 个答案:

答案 0 :(得分:0)

您在这里有两个选择。您可以:

In [1]: import pandas as pd                                                                                                                                   

In [2]:  df1 = pd.DataFrame({'a':[1,2,3,54], 'b':[1,2,3,4]})                                                                                                  

In [3]: df2 = pd.DataFrame({'c':[7,8,0,50], 'd':[31,12,13,12]})                                                                                               

In [4]: df1.append(df2)                                                                                                                                       
Out[4]: 
      a    b     c     d
0   1.0  1.0   NaN   NaN
1   2.0  2.0   NaN   NaN
2   3.0  3.0   NaN   NaN
3  54.0  4.0   NaN   NaN
0   NaN  NaN   7.0  31.0
1   NaN  NaN   8.0  12.0
2   NaN  NaN   0.0  13.0
3   NaN  NaN  50.0  12.0

我认为这是最简单的方法,但是您也可以将SQL类型与内部和外部联接合并,就像SQL表一样。此处更多信息:https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html