numpy.ndarrayを含むデータフレームを持つ2つの引数を持つDataFrame.applyを使用して問題が発生しています。機能自体はかなり簡単で、numpy.ndarray出力:渡された値の形状xは、データフレーム内のnumpy.ndarrayの値とyを暗示します
def get_opponent_choice(choice,outcome):
opp_choice = np.zeros_like(choice)
opp_choice[outcome > 0] = choice[outcome > 0]
opp_choice[outcome < 0] = 1 - choice[outcome < 0]
return opp_choice
get_opponent_choice(df['dir_choice'].loc[0],df['outcomes'].loc[0])
df.apply(lambda x : get_opponent_choice(x['dir_choice'],x['outcomes']),axis=1)
は、単一のテストの反復作業を実行し、しかし、適用する機能を使用すると、とのトラブルに私を取得します。私が好きな
理想的Shape of passed values is (343, 54), indices imply (343, 9)
入力配列の形状に一致するnumpy.ndarrayデータ型を含む新しい列df ['dir_opp']にデータを出力する(行に応じて変化する)
表示されている各行には異なるサイズの配列がありますが列全体で同じままです。 DataFrame relevant columns
玩具例df.apply機能は、同じエラーが発生します実行し、問題をエミュレートする:
toy_dict = []
toy_dict.append({'dir_choice' : np.array([0, 0, 0, 1, 0, 0]), 'outcomes' : np.array([1, -1, -1, 1, 1, -1])})
toy_dict.append({'dir_choice' : np.array([0, 0, 1, 0, 1, 0, 0]), 'outcomes' : np.array([1, -1, 1, -1, 1, 1, -1])})
toy_dict.append({'dir_choice' : np.array([0, 0, 1]), 'outcomes' : np.array([-1, -1, -1])})
toy_df = pd.DataFrame.from_dict(toy_dict)
彼らは、データフレームに格納するための理想的なタイプではありません、それは常識です。 –