Вопрос:
Каков метод для преобразования списка строк pd.Series объект pd.Series?
(Объекты серии pandas можно преобразовать в список с помощью tolist() – но как сделать обратное преобразование?)
Лучший ответ:
Я понимаю, что ваш список на самом деле является списком списков
import pandas as pd thelist = [ [‘sentence 1’], [‘sentence 2’], [‘sentence 3’] ] df = pd.Series( (v[0] for v in thelist) ) Ответ №1import pandas as pd sentence_list = [‘sentence 1’, ‘sentence 2’, ‘sentence 3’, ‘sentence 4’] print(«List of Sentences: n», sentence_list) sentence_series = pd.Series(sentence_list) print(«Series of Sentences: n», sentence_series)
Даже если sentence_list – список списков, этот код все еще преобразует список в объект Pandas Series.
Ответ №2
pd.Series(l) фактически работает почти со всеми типами списков и возвращает объект Series:
import pandas as pd l = [ [‘sentence 1’], [‘sentence 2’], [‘sentence 3’] ] #works l = [‘sentence 1’, ‘sentence 2’, ‘sentence 3’] #works l = numpy.array([‘sentance 1’, ‘sentance2’, ‘sentance3′], dtype=’object’) #works print(l, type(l)) ds = pd.Series(l) print(ds, type(ds)) 0 sentence 1 1 sentence 2 2 sentence 3 dtype: object <class ‘pandas.core.series.Series’> Ответ №3
Чтобы преобразовать список myList в серию Pandas, используйте:
mySeries = pd.Series(myList)
Это также один из основных способов создания серии из списка в Pandas.
Пример:
myList = [‘string1’, ‘string2’, ‘string3’] mySeries = pd.Series(myList) mySeries # Out: # 0 string1 # 1 string2 # 2 string3 # dtype: object
Обратите внимание, что Pandas будет угадывать тип данных элементов списка, потому что ряд не допускает смешанных типов (в отличие от списков Python). В приведенном выше примере выведенный тип данных был object (string Python), потому что он наиболее общий и может вместить все другие типы данных (см. Типы данных).
Можно указать тип данных при создании серии:
myList= [1, 2, 3] # inferred data type is integer pd.Series(myList).dtype # Out: # dtype(‘int64’) myList= [‘1’, 2, 3] # data type is object pd.Series(myList).dtype # Out: # dtype(‘O’)
Можно указать dtype как целое число:
myList= [‘1’, 2.2, ‘3’] mySeries = pd.Series(myList, dtype=’int’) mySeries.dtype # Out: # dtype(‘int64’)
Но это будет работать только в том случае, если все элементы в списке можно привести к нужному типу данных.