Я хотел бы использовать метод pandas.concat для объединения двух DataFrames, но я не полностью понимаю все аргументы pandas.concat. У меня есть два DataFrames, которые имеют одинаковые идентифицирующие переменные в столбцах, но отличаются в одном столбце.
import pandas as pd
dict_data = {'Treatment': ['C', 'C', 'C'], 'Biorep': ['A', 'A', 'A'], 'Techrep': [1, 1, 1], 'AAseq': ['ELVISLIVES', 'ELVISLIVES', 'ELVISLIVES'], 'mz':[500.0, 500.5, 501.0]}
df_a = pd.DataFrame(dict_data)
dict_data = {'Treatment': ['C', 'C', 'C'], 'Biorep': ['A', 'A', 'A'], 'Techrep': [1, 1, 1], 'AAseq': ['ELVISLIVES', 'ELVISLIVES', 'ELVISLIVES'], 'inte':[1100.0, 1050.0, 1010.0]}
df_b = pd.DataFrame(dict_data)
df_a
AAseq Biorep Techrep Treatment mz
0 ELVISLIVES A 1 C 500.0
1 ELVISLIVES A 1 C 500.5
2 ELVISLIVES A 1 C 501.0
df_b
AAseq Biorep Techrep Treatment int
0 ELVISLIVES A 1 C 1100
1 ELVISLIVES A 1 C 1050
2 ELVISLIVES A 1 C 1010
Я могу добавить столбец следующим образом:
df_m = df_a.copy()
df_m['inte'] = df_b['inte']
AAseq Biorep Techrep Treatment inte
0 ELVISLIVES A 1 C 1100
1 ELVISLIVES A 1 C 1050
2 ELVISLIVES A 1 C 1010
Мои реальные данные выглядят намного сложнее, и я боюсь, что приведенный выше метод может привести к неправильному порядку значений в строках (особенно потому, что я хочу заранее использовать pandas.melt).
Когда используешь:
dfm = pd.concat([df_a, df_b])
AAseq Biorep Techrep Treatment inte mz
0 ELVISLIVES A 1 C NaN 500.0
1 ELVISLIVES A 1 C NaN 500.5
2 ELVISLIVES A 1 C NaN 501.0
0 ELVISLIVES A 1 C 1100 NaN
1 ELVISLIVES A 1 C 1050 NaN
2 ELVISLIVES A 1 C 1010 NaN
Объединенный DataFrame расширяет значения по строкам до NaN vals.
Вопрос: как достичь того же результата (показанного выше) с помощью concat?
Спасибо за поддержку!