У меня есть три фрейма данных:
df1:
col1 col2 col3
name1 human experID1
name2 mouse experID2
name3 human experID3
name4 mouse experID4
name5 human experID5
df2:
col1 col2 col4 col6
name1 human experID1 output1
name2 human experID2 output2
name3 human experID3 output3
name10 human experID10 output4
df3:
col1 col3 col7 col8
name1 happy human ref1
name2 sad mouse ref2
name3 angry human ref3
Я хочу объединить их:
Строки в столбце 1 должны оставаться прежними, т. Е. Поскольку name1 происходитв каждом кадре данных в столбце col1 это должно происходить три раза в конечном кадре данных.
Я хочу только объединить столбцы так, чтобы: если столбец уже существовал, добавить данные в этот столбец;иначе добавьте новый столбец.
Заполните пропущенные ячейки с помощью '-'
Таким образом, результат будет:
col1 col2 col3 col4 col6 col7 col8
name1 human experID1 - - - -
name2 mouse experID2 - - - -
name3 human experID3 - - - -
name4 mouse experID4 - - - -
name5 human experID5 - - - -
name1 human - experID1 output1 - -
name2 human - experID2 output2 - -
name3 human - experID3 output3 - -
name10 human - experID10 output4 - -
name1 - happy - - human ref1
name2 - sad - - mouse ref2
name3 - angry - - human ref3
С точки зрения демонстрации того, что я пробовал: у меня есть три фрейма данных: df1, df2, df3
Пытался работать со слиянием, concat, append, говоря что-то вроде:
final_df = pd.DataFrame()
list_of_df = [df1,df2,df3]
#method 1
result = pd.concat(list_of_df)
#method 2
for each_df in list_of_dfs:
#this is where it started to go wrong
Я попробовал все методы на этой странице, но я не думаю, что они делают то, что я от них хочу (дайте мне знать, если вы хотите, чтобы я добавил код с этой страницы здесь, я просто подумал, что, поскольку это неправильно, было бы лучше указывать на ссылку).
Я думаю, что логически я думаю, что я хочу «добавить» каждый кадр данных в кадр основных данных один за другим, поэтому строкиоставайся таким же. Я просто не понимаю, как объединить столбцы без объединения строк, если кто-то может показать пример.