У меня есть фрейм данных, который выглядит следующим образом.
key A1 A2 A3 BX CX DX
1 X1 Y1 B1 C1 D1
2 X2 Z2 B2 C2 D2
3 X3 B3 C3 D3
4 X4 B4 C4 D4
5 B5 C5 D5
Я пытаюсь сформировать новый столбец 'NC', который объединяется из столбцов A1, A2 и A3.Если в определенном столбце нет записи, следующий столбец необходимо сделать шаг вперед. Разделителем может быть «,» или «_»
Конечный df выглядит как
key A1 A2 A3 BX CX DX NC
1 X1 Y1 B1 C1 D1 X1_Y1
2 X2 Z2 B2 C2 D2 X2_Z2
3 X3 B3 C3 D3 X3
4 X4 B4 C4 D4 X4
5 B5 C5 D5
Если в A1-A3 нет записей, то запись в NC остается пустой. Я просматривал другие сообщения в SO и пробовал другие способы, но, похоже, я не понял, как это правильно.Записи в столбцах A1-A3 являются числами с плавающей запятой, которые иногда имеют 0 после числа (X2.0).Я также хочу отбросить десятичную дробь, и 0. Надеясь, что кто-то более знающий может показать мне путь.
edit Q, чтобы изменить тип данных во фрейме данных
key A1 A2 A3 BX CX DX
1 1.0 2.0 B1 C1 D1
2 3 4 B2 C2 D2
3 7.0 B3 C3 D3
4 5 6.0 7.0 B4 C4 D4
5 B5 C5 D5
new df выглядит так
key A1 A2 A3 BX CX DX NC
1 1.0 2.0 B1 C1 D1 1_2
2 3 4 B2 C2 D2 3_4
3 7.0 B3 C3 D3 7
4 5 6.0 7.0 B4 C4 D4 5_6_7
5 B5 C5 D5