Как добавить столбец строк в другую строку в python?

#python #pandas #string

Вопрос:

У меня есть веревочка text ="a,b,c"

и у меня есть набор ключевых слов в фрейме данных, подобном этому:

book=

 col1 col2  1 car  2 bike  3 bus  4 train`  

я хочу получить выходную строку, добавив все эти слова в col2 со знаком после каждого слова в тексте:

Пример вывода:

 a car bike bus train b car bike bus train c car bike bus train ....  

Ответ №1:

Предполагая, что вы ожидаете получить список в качестве вывода, то, что вы хотите, легко достижимо с помощью itertools.product :

 from itertools import product  text = 'a,b,c' list(map(' '.join, product(text.split(','), [df['col2'].str.cat(sep=' ')])))  

выход:

 ['a car bike bus train',  'b car bike bus train',  'c car bike bus train']  

Ответ №2:

Вот, возможно, полезное и простое решение:

 # the initail string. str = "a,b,c"  # separate the str string by the comma. str_list = str.split(',')  # Import pandas library import pandas as pd  # initialize list of lists data = [[1, 'car'], [2, 'bike'], [3, 'bus'], [4, 'train']]  # Create the pandas DataFrame df = pd.DataFrame(data, columns = ['index', 'item'])  # iterate over the str_list for s in str_list:  # iterate over the dataframe.  for index, row in df.iterrows():  s = s   ' '   row['item']  print(s)