10個のデータフレームから特定の値のデータを数え上げ、新しいデータフレームを作りたいと考えています。(pandas)
その時に、まず、リスト化してから最終的にデータフレームを作成する流れで進めているのですが、そのリストが煩雑すぎるので、より簡単に作れる方法を教えていただきたいです。
python
1list = [[((df_4['転入時年齢'] >= 0)&(df_4['転入時年齢'] <= 4)).sum(), 2 ((df_4['転入時年齢'] >= 5)&(df_4['転入時年齢'] <= 9)).sum(), 3 ((df_4['転入時年齢'] >= 10)&(df_4['転入時年齢'] <= 14)).sum(), 4 ((df_4['転入時年齢'] >= 15)&(df_4['転入時年齢'] <= 19)).sum(), 5 ((df_4['転入時年齢'] >= 20)&(df_4['転入時年齢'] <= 24)).sum(), 6 ((df_4['転入時年齢'] >= 25)&(df_4['転入時年齢'] <= 29)).sum(), 7 ((df_4['転入時年齢'] >= 30)&(df_4['転入時年齢'] <= 34)).sum(), 8 ((df_4['転入時年齢'] >= 35)&(df_4['転入時年齢'] <= 39)).sum(), 9 ((df_4['転入時年齢'] >= 40)&(df_4['転入時年齢'] <= 49)).sum(), 10 ((df_4['転入時年齢'] >= 50)&(df_4['転入時年齢'] <= 54)).sum(), 11 ((df_4['転入時年齢'] >= 55)&(df_4['転入時年齢'] <= 59)).sum(), 12 ((df_4['転入時年齢'] >= 60)&(df_4['転入時年齢'] <= 64)).sum(), 13 ((df_4['転入時年齢'] >= 65)&(df_4['転入時年齢'] <= 69)).sum(), 14 ((df_4['転入時年齢'] >= 70)&(df_4['転入時年齢'] <= 74)).sum(), 15 ((df_4['転入時年齢'] >= 75)&(df_4['転入時年齢'] <= 79)).sum(), 16 ((df_4['転入時年齢'] >= 80)&(df_4['転入時年齢'] <= 84)).sum(), 17 ((df_4['転入時年齢'] >= 85)&(df_4['転入時年齢'] <= 89)).sum(), 18 ((df_4['転入時年齢'] >= 90)&(df_4['転入時年齢'] <= 94)).sum(), 19 ((df_4['転入時年齢'] >= 95)&(df_4['転入時年齢'] <= 99)).sum(), 20 ((df_4['転入時年齢'] >= 100)).sum()],
このコードをdf_13まで打てば無事にリストは作れるのですが、コードが長すぎるし、何よりdf_5~13まで、数字を消して打ち直すのが面倒なので、
できればもっと簡単にリストを作れる方法を教えていただきたいです。
なお、完全初心者なので、いろいろ調べてみたのですがよくわかりませんでした。
pyton
1i = [4,5,6,7,8,9,10,11,12,13] 2for i in list : 3 list = [[((df_i['転入時年齢'] >= 0)&(df_x['転入時年齢'] <= 4)).sum(), 4 ((df_i['転入時年齢'] >= 5)&(df_i['転入時年齢'] <= 9)).sum(), 5 ((df_i['転入時年齢'] >= 10)&(df_i['転入時年齢'] <= 14)).sum(), 6 ((df_i['転入時年齢'] >= 15)&(df_i['転入時年齢'] <= 19)).sum(), 7 ((df_i['転入時年齢'] >= 20)&(df_i['転入時年齢'] <= 24)).sum(), 8 ((df_i['転入時年齢'] >= 25)&(df_i['転入時年齢'] <= 29)).sum(), 9 ((df_i['転入時年齢'] >= 30)&(df_i['転入時年齢'] <= 34)).sum(), 10 ((df_i['転入時年齢'] >= 35)&(df_i['転入時年齢'] <= 39)).sum(), 11 ((df_i['転入時年齢'] >= 40)&(df_i['転入時年齢'] <= 49)).sum(), 12 ((df_i['転入時年齢'] >= 50)&(df_i['転入時年齢'] <= 54)).sum(), 13 ((df_i['転入時年齢'] >= 55)&(df_i['転入時年齢'] <= 59)).sum(), 14 ((df_i['転入時年齢'] >= 60)&(df_i['転入時年齢'] <= 64)).sum(), 15 ((df_i['転入時年齢'] >= 65)&(df_i['転入時年齢'] <= 69)).sum(), 16 ((df_i['転入時年齢'] >= 70)&(df_i['転入時年齢'] <= 74)).sum(), 17 ((df_i['転入時年齢'] >= 75)&(df_i['転入時年齢'] <= 79)).sum(), 18 ((df_i['転入時年齢'] >= 80)&(df_i['転入時年齢'] <= 84)).sum(), 19 ((df_i['転入時年齢'] >= 85)&(df_i['転入時年齢'] <= 89)).sum(), 20 ((df_i['転入時年齢'] >= 90)&(df_i['転入時年齢'] <= 94)).sum(), 21 ((df_i['転入時年齢'] >= 95)&(df_i['転入時年齢'] <= 99)).sum(), 22 ((df_i['転入時年齢'] >= 100)).sum()]] 23print(list)
for文で繰り返しでできるか試しましたが
NameError: name 'df_i' is not defined
df_iは定義されていないと出てしまいました。
どなたかよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー