pandas
apply関数ではかなり単純なことに直面しています。回答者のage
列(type - np.int64
)のデータフレームがあります。 18-25
、26-35
、36+
のようなgroup age by categories
という新しい列を作成したいとします。int 'pandas apply関数を呼び出すときにオブジェクトにサブスクリプトがありません
私は、関数を記述してそれをデータフレームに適用することをお勧めします。しかし、私は永久にこのエラーを取得しています:
「int型」オブジェクトは、
」の添字ではありません、私はそうでint()
、astype(int)
と同様に、多くのオプションを試してみました。
私は__getitem__ attribute
について他のすべてのものを読んでいますが、なぜ今働いているのか分かりません。私は単純に整数値を取得し、条件比較を行い、列に文字列を割り当てようとします。ここで
は私の関数である。
def group_by_age(row):
data = row['age_response']
if ((data['age_response'].astype(int)) > 18) & ((data['age_response'].astype(int)) < 26):
row['age_grouped'] = '18-25'
elif ((data['age_response'].astype(int)) > 25) & ((data['age_response'].astype(int)) < 36):
row['age_grouped'] = '26-35'
elif (data['age_response'].astype(int)) > 35:
row['age_grouped'] = '36-45'
return row
任意の考え?
'data = row ['age_response']'だから、 'data ['age_response']'とは何でしょうか?あなたの 'row'変数には同じ指定子を持つ2次元がありますか? – UnholySheep