web-dev-qa-db-ja.com

Python list to pandas Series

Python文字列のリストを_pd.Series_オブジェクトに変換する方法は何ですか?

(pandas Seriesオブジェクトはtolist()メソッドを使用してリストに変換できますが、逆変換の方法は?)

19

あなたのリストは実際にはリストのリストであることを理解しています

import pandas as pd

thelist = [ ['sentence 1'], ['sentence 2'], ['sentence 3'] ]
df = pd.Series( (v[0] for v in thelist) )
23
Colin Bernet
import 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オブジェクトに変換します。

4
JustCurious

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'>
0
prosti

リストmyListをPandasシリーズに変換するには:

mySeries = pd.Series(myList) 

これは、Pandasのリストからシリーズを作成する基本的な方法の1つでもあります。

例:

myList = ['string1', 'string2', 'string3']                                                                                                                
mySeries = pd.Series(myList)                                                                                                                             
mySeries                                                                                                                                                 
# Out: 
# 0    string1
# 1    string2
# 2    string3
# dtype: object

Pandasは、シリーズが混合型を許可しないため、リストの要素のデータ型を推測します(Pythonリストとは反対)。上のデータ型の例はobject(Python string)でした。これは最も一般的で、他のすべてのデータ型に対応できるためです( dataタイプ )。

シリーズを作成するときにデータ型を指定することができます:

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')

ただし、これはリスト内のすべての要素を目的のデータ型にキャストできる場合にのみ機能します。

0
user2314737