実現したいこと
下記のprint df
で出力されているような、DataFrameにndarrayのカラムを作りたいです。
Python
1import pandas as pd 2import numpy as np 3 4nd = np.asarray([[1,2,3],[4,5,6]]) 5df = pd.DataFrame({'hoge': [0,1,2], 6 'ndarray': [nd,nd,nd]}, 7 index=['a','b','c']) 8print df 9# hoge ndarray 10# a 0 [[1, 2, 3], [4, 5, 6]] 11# b 1 [[1, 2, 3], [4, 5, 6]] 12# c 2 [[1, 2, 3], [4, 5, 6]]
本題
上のやり方だとうまくいくのですが、
DataFrameに関数を適用させて作りたいというのが本題です。
そこで、関数をapplyで適用させて作ろうとしたのですが、
1次元にしろとのエラーが出てしまいました。
改善、代替案が浮かばない状況です。
Python
1def input_ndarray(df): 2 return np.asarray([[1,2,3],[4,5,6]]) 3 4df = pd.DataFrame({'hoge': [0,1,2]}, 5 index=['a','b','c']) 6df['ndarray'] = df.apply(input_ndarray, axis=1) 7 8# Error
Error
1Exception Traceback (most recent call last) 2<ipython-______> in <module>() 3 4 df = pd.DataFrame({'hoge': [0,1,2]}, 4 5 index=['a','b','c']) 5----> 6 df['ndarray'] = df.apply(input_ndarray, axis=1) 6 7... 8 9Exception: Data must be 1-dimensional
質問
DataFrameに関数を適用させて、要素にndarrayが入った列の作り方を、
どなたかご教授いただけないでしょうか?

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/29 13:00