list、numpy、pandasの型変換をまとめます。
dict型との変換も気になりますが、こんがらがるので、dict型はまた別でまとめます。
ndarray の公式ドキュメントを載せておきたいと思います。
ndarray の正式名称って The N-dimensional array なんですね。
pandas.Series の公式ドキュメントも載せておきます。
1次元の型変換を網羅しておく
相互変換を図にしてみました。
list型とndarray型
tolist()なのか、to_list()なのか、いつも忘れてしまいます。
正解はtolist()でした。
li = [1, 2, 3, 4] print(li) print(type(li)) # [1, 2, 3, 4] # <class 'list'> # list型からndarray型に変換 nda = np.array(li) print(nda) print(type(nda)) # [1 2 3 4] # <class 'numpy.ndarray'> # ndarray型からlist型に変換 li = nda.tolist() print(li) print(type(li)) # [1, 2, 3, 4] # <class 'list'>
list型とpandas.Series型
pandas.Seriesがto_list()です。
li = [1, 2, 3, 4] print(li) print(type(li)) # [1, 2, 3, 4] # <class 'list'> # list型からpd.Series型に変換 pds = pd.Series(li) print(pds) print(type(pds)) print(pds.index) # 0 1 # 1 2 # 2 3 # 3 4 # dtype: int64 # <class 'pandas.core.series.Series'> # RangeIndex(start=0, stop=4, step=1) # pd.Series型からlist型に変換 li = pds.to_list() print(li) print(type(li)) # [1, 2, 3, 4] # <class 'list'>
ndarray型とpandas.Series型
pandas.Series型をndarray型にする方法は2つあります。
# ndarray型をps.Series型に変換 nda = np.array([1, 2, 3, 4]) pds = pd.Series(nda) print(pds) print(type(pds)) # 0 1 # 1 2 # 2 3 # 3 4 # dtype: int64 # <class 'pandas.core.series.Series'> # ps.Series型をndarray型に変換 nda = pds.to_numpy() print(nda) print(type(nda)) # [1 2 3 4] # <class 'numpy.ndarray'> # ps.Series型をndarray型に変換 nda = pds.values print(nda) print(type(nda)) # [1 2 3 4] # <class 'numpy.ndarray'>