次元が一致する場合、リストまたはnumpy配列を複数の変数に解凍できます。 3xNアレイの場合、以下が機能します。
import numpy as np
a,b = [[1,2,3],[4,5,6]]
a,b = np.array([[1,2,3],[4,5,6]])
# result: a=[1,2,3], b=[4,5,6]
A pandas DataFrame
の列に対して同様の動作を実現するにはどうすればよいですか?上記の例を拡張します。
import pandas as pd
df = pd.DataFrame([[1,2,3],[4,5,6]])
df.columns = ['A','B','C'] # Rename cols and
df.index = ['i', 'ii'] # rows for clarity
以下は期待どおりに機能しません。
a,b = df.T
# result: a='i', b='ii'
a,b,c = df
# result: a='A', b='B', c='C'
しかし、私が取得したいのは次のとおりです。
a,b,c = unpack(df)
result: a=df['A'], b=df['B'], c=df['C']
関数unpack
はすでにパンダで利用できますか?それとも簡単な方法で模倣できますか?
私はちょうど私が達成しようとしていることにすでに近い次の作品を見つけました:
a,b,c = df.T.values
# pd.DataFrame.as_matrix() is deprecated