У меня есть два столбца, и я хочу объединить значения из одного столбца в другой.Я хочу объединить значения из столбца «A» в столбец «B», но в столбце «B» я хочу, чтобы каждая ячейка была с двумя строками, если ячейка из столбца «B» не пуста и только со значениемиз столбца "A", если ячейка в столбце "B" пуста.
Вот кадр данных
df
A B
Nr.1 18b
Nr.1
Nr.1 18c\nNr.2\n
Nr.1 18d\nNr.1
Nr.2
Nr.2 20a\n
Nr.2 20a\nNr.2
Nr.3 20b\nNr.2\n
Nr.3
Итак, на и я хочу:
df
A B
Nr.1 18b\nNr.1
Nr.1 Nr.1
Nr.1 18c\nNr.1
Nr.1 18d\nNr.1
Nr.2 Nr.2
Nr.2 20a\nNr.2
Nr.2 20a\nNr.2
Nr.3 20b\nNr.2
Nr.3 Nr.3
Я пробовал с df ['B'] = df [["B", "A"]]. Apply (лямбда-х: '' .join (x.dropna (). astype (str)), axis = 1), когда я хочу добавить значения из столбца «A», и это работает, когда ячейка из столбца «B» заканчивается новой строкой (\ n)
Когда у меня нет новой строки в конце строки, тогда я использую df ['B'] = df [["B", "A"]]. Apply (lambda x: '\ n'.join (x.dropna)() .astype (str)), axis = 1)
Но проблема в том, что у меня уже есть две строки в ячейке.Мне нужно заменить значение во второй строке значением из столбца «A», а в конце строки не должно быть «\ n».
Это какой-то элегантный способ решить эту проблему?Я ценю любую помощь.