Есть ли способ объединить 2 кадра данных с функцией labda? - PullRequest
0 голосов
/ 04 марта 2020

У меня есть 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 голосов
/ 04 марта 2020

У вас есть два варианта здесь. Вы можете:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...