Я хотел бы соединить определенные строки в кадре данных Pandas.
У меня есть столбец «текст» и другой столбец «имя». Каждая запись в столбце «текст» имеет строку. Некоторые записи в столбце «имя» пусты, поэтому я бы хотел соединить строку n, которая имеет пустую запись в столбце «имя», со строкой (n-1). Если в строке (n-1) также есть пустая запись в столбце «имя», строки должны соединиться как со следующей строкой, в которой есть запись в столбце «имя».
Например:
Ввод:
Text=["Abc","def","ghi","jkl","mno","pqr","stu"]
Name=["a","b","c",““,““,"f","g"]
Ожидаемый результат:
Text= ["Abc","def","ghijklmno","pqr","stu"]
Name = ["a","b","c","f","g"]
Я хотел бы сделать мой вопрос более понятным:
У меня есть два списка:
index = [3,6,8,9,10,12,15,17,18,19]
text = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
new = []
for i in range(0,len(text)):
if i not in index:
if i+1 not in index:
new.append(text[i])
if i in index:
new.append(text[i-1]+' '+ text[i])
Индекс списка показывает ложные разбиения текста (когда имя столбца не имеет значения). Поэтому я хотел бы добавить, например, текст [3] к тексту [2]. Поэтому я получу новую запись 'c d'.
Наконец, вывод должен быть следующим:
new = ['a','b,'c d','e','f g','hijk','lm','n','op','qrst','u','v','w','x','y','z']
Эти списки являются лишь упрощенным примером для моего большого текстового списка. Я не знаю, сколько записей мне нужно соединить вместе. Мой алгоритм работает только тогда, когда мне нужно связать запись n с записью n-1. Но также возможно, что мне нужно связать запись n с записями до n-10, поэтому я получаю одну большую запись.
Надеюсь, мой вопрос теперь более понятен.