Как объединить две разные переменные с разными индексами? - PullRequest
0 голосов
/ 31 марта 2020

Я работаю с большим набором данных, и мне пришлось очистить некоторые строки, поэтому индексы теперь не соблюдаются, так как некоторые отсутствуют. Теперь у меня есть:

        A
2       2
5       4
7       5
8       6
17      6
21      8

Независимо от того, что означает столбец А, мне приходилось работать с ним, разбивать его и преобразовывать. Итак, в конце у меня были две переменные, полученные в результате этих операций (A_case1, A_case2), где:

print(A_case1)

2    4
7    2
17   3
21   2

print(A_case2)

5   2
8   1

Но теперь я хочу объединить эти две переменные и соединиться с исходным кадром данных. Поэтому я хочу, чтобы конечный результат был:

        A   A_case1_Case2
2       2   4
5       4   2
7       5   2
8       6   1
17      6   3
21      8   2

Я уже пробовал pd.concat, но невозможно присоединиться к кадру данных. Кто-нибудь может мне помочь, пожалуйста?

1 Ответ

0 голосов
/ 31 марта 2020

Сначала объедините новые кадры данных A_case1 и A_case2 в исходный (df):

merged = df.merge(A_case1, left_index=True, right_index=True, how='left').merge(A_case2, left_index=True, right_index=True, how='left')

Затем создайте новый столбец A_case1_case2, соединив два промежуточных столбца A_case1 и A_case2:

merged['A_case1_case2'] = merged[['A_case1', 'A_case2']].apply(lambda x: ''.join(x.dropna().astype(int).astype(str)), 1)

И, наконец, отбросьте промежуточные столбцы A_case1 и A_case2:

merged = merged.drop(['A_case1', 'A_case2'], 1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...