質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

GROUP BY

GROUP BYとはSQL文のひとつで、SELECT文において特定の列の値が等しい行ごとに表をグループ化します。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

2回答

1839閲覧

groupbyメソッド 不定義エラー

PPAP_AWS

総合スコア105

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

GROUP BY

GROUP BYとはSQL文のひとつで、SELECT文において特定の列の値が等しい行ごとに表をグループ化します。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2020/06/24 05:37

編集2020/06/25 02:32

エラー内容を見ると(不定義)とのことだと思うのですが。
スペル間違い。半角等の再度見直し済。

python

1コード 2実行内容 3df_population_data.grouby(by='都道府県名').mean()[['人口(総数)','人口(男)','人口(女)']].round(0) 4 5エラー内容 6NameError Traceback (most recent call last) 7<ipython-input-2-d86aa243cb8e> in <module> 8----> 1 df_population_data.grouby(by='都道府県名').mean()[['人口(総数)','人口(男)','人口(女)']].round(0) 9 10NameError: name 'df_population_data' is not defined 11 12以下のコードは、エラー無く通ります。 13python 14import numpy as np 15import pandas as pd 16df_population_data = pd.read_csv('data.csv',encoding='shift-jis') 17df_population_data 18```ここに言語を入力 19コード

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YufanLou

2020/06/24 05:42

`df_population_data`という変数を見つけないと述べています。とあるファイルから読むべきでしょうか?前後文をもっと示してください。
PPAP_AWS

2020/06/24 05:44

このようなエラーになっています。 NameError Traceback (most recent call last) <ipython-input-〇〇> in <module> ----> 1 df_population_data.groupby(by='都道府県名').mean()[['人口(総数)', '人口(男)', '人口(女)']].round(0) NameError: name 'df_population_data' is not defined
YufanLou

2020/06/24 06:11

コードはただそれ一行ですか?それはさすがにエラーが出ますね。その前に ```python import pandas df_population_data = pandas.read_csv('population_data.csv') ``` みたいにツールとデータを導入するべきです。その前にも`pandas`をインストールするべきです。色々な準備が必要なので、そのデータの提供者に聞く方が早いと思います。
PPAP_AWS

2020/06/24 06:19

ご丁寧にご説明、エラー内容について教えていただきまして、ありがとうございます。 ネットの情報を頼りにやっているので、もっと詳しく調べてみます。
YufanLou

2020/06/24 07:35

エラーの前に`df_population_data`をずっと使えますか?たとえば ```python import numpy as np import pandas as pd df_population_data = pd.read_csv('data.csv',encoding='shift-jis') df_population_data ``` これだけで大丈夫ですか?
PPAP_AWS

2020/06/24 11:08

逆に疑問視されてしまうと、返答がわからないため次のステップに行ける方向のためにアドバイスを頂きたいので、すいませんが、問題に対して全く詳しくないため疑問形で返答されると困ります。 すいません。
YufanLou

2020/06/24 11:22

説明は足りなかったですね、ごめんなさい。エラーの原因を調べるにはコツがあります:エラーを引き出す最小限のコードを見つけることです。ですから、最初の4行だけを運行してエラーが出ますかないか、エラーが出なかったら出力が何かと聞きたかったのです。よろしくお願いします。
PPAP_AWS

2020/06/24 11:41

ご丁寧な説明ありがとうございます。 以下のやり方であっているのか。わかりませんが。 実行内容 python import numpy as np import pandas as pd df_population_data = pd.read_csv('data.csv',encoding='shift-jis') df_population_data エラー内容 NameError Traceback (most recent call last) <ipython-input-3-939a6a252539> in <module> ----> 1 python 2 import numpy as np 3 import pandas as pd 4 df_population_data = pd.read_csv('data.csv',encoding='shift-jis') 5 df_population_data NameError: name 'python' is not defined   このようになってしまいます。
YufanLou

2020/06/24 12:07

あ、ごめんなさい、回答のmarkdown文法でpythonを書いてありましたが、そこでは要りません。pythonの行を除いて実行すればどんな出力でしょう?
PPAP_AWS

2020/06/24 12:11

あ、すいません。全くの初心者なので、、もっと勉強します。 以下の実行内容を実行しました。 エラーなく表示されました。 import numpy as np import pandas as pd df_population_data = pd.read_csv('data.csv',encoding='shift-jis') df_population_data
YufanLou

2020/06/24 12:18

では df_population_data.groupby(by='都道府県名').mean()[['人口(総数)', '人口(男)', '人口(女)']].round(0) をその後に加えて実行してください
PPAP_AWS

2020/06/24 12:34

以下の実行内容は問題無く。 import numpy as np import pandas as pd df_population_data = pd.read_csv('data.csv',encoding='shift-jis') df_population_data 次に、 以下の実行しました所、 df_population_data.groupby(by='都道府県名').mean()[['人口(総数)', '人口(男)', '人口(女)']].round(0) 以下のエラーが出てしまいます。。。 KeyError Traceback (most recent call last) <ipython-input-6-9470f8bfc389> in <module> ----> 1 df_population_data.groupby(by='都道府県名').mean()[['人口(総数)', '人口(男)', '人口(女)']].round(0) ~/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pandas/core/frame.py in __getitem__(self, key) 2804 if is_iterator(key): 2805 key = list(key) -> 2806 indexer = self.loc._get_listlike_indexer(key, axis=1, raise_missing=True)[1] 2807 2808 # take() does not accept boolean indexers ~/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pandas/core/indexing.py in _get_listlike_indexer(self, key, axis, raise_missing) 1550 keyarr, indexer, new_indexer = ax._reindex_non_unique(keyarr) 1551 -> 1552 self._validate_read_indexer( 1553 keyarr, indexer, o._get_axis_number(axis), raise_missing=raise_missing 1554 ) ~/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pandas/core/indexing.py in _validate_read_indexer(self, key, indexer, axis, raise_missing) 1638 if missing == len(indexer): 1639 axis_name = self.obj._get_axis_name(axis) -> 1640 raise KeyError(f"None of [{key}] are in the [{axis_name}]") 1641 1642 # We (temporarily) allow for some missing keys with .loc, except in KeyError: "None of [Index(['人口(総数)', '人口(男)', '人口(女)'], dtype='object')] are in the [columns]" ​
YufanLou

2020/06/24 13:00

「'人口(総数)', '人口(男)', '人口(女)'が列のラベルには存在しない」と述べています。df_population_dataにそれらが本当に存在するかどうかを確認してください。
PPAP_AWS

2020/06/24 13:02

すいません。 確認方法をお教えてくださると助かります。 よろしくお願い致します。
YufanLou

2020/06/24 13:07

あ、はい。4行目のdf_population_dataの出力の1行目には列のラベルがあるはずです。数が多すぎて見えなければ、groupbyの行を除いて、 df_population_data[['人口(総数)', '人口(男)', '人口(女)']] を加えて実行してみてください。
PPAP_AWS

2020/06/24 13:11

ご丁寧に何度もご説明有難うございます。 以下のコードを実行しました。 df_population_data[['人口(総数)', '人口(男)', '人口(女)']] 以下のエラーが出てしまいますが、、、。 KeyError Traceback (most recent call last) <ipython-input-11-5bb0425f2e52> in <module> ----> 1 df_population_data[['人口(総数)', '人口(男)', '人口(女)']] ~/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pandas/core/frame.py in __getitem__(self, key) 2804 if is_iterator(key): 2805 key = list(key) -> 2806 indexer = self.loc._get_listlike_indexer(key, axis=1, raise_missing=True)[1] 2807 2808 # take() does not accept boolean indexers ~/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pandas/core/indexing.py in _get_listlike_indexer(self, key, axis, raise_missing) 1550 keyarr, indexer, new_indexer = ax._reindex_non_unique(keyarr) 1551 -> 1552 self._validate_read_indexer( 1553 keyarr, indexer, o._get_axis_number(axis), raise_missing=raise_missing 1554 ) ~/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pandas/core/indexing.py in _validate_read_indexer(self, key, indexer, axis, raise_missing) 1638 if missing == len(indexer): 1639 axis_name = self.obj._get_axis_name(axis) -> 1640 raise KeyError(f"None of [{key}] are in the [{axis_name}]") 1641 1642 # We (temporarily) allow for some missing keys with .loc, except in KeyError: "None of [Index(['人口(総数)', '人口(男)', '人口(女)'], dtype='object')] are in the [columns]"
YufanLou

2020/06/24 13:26

df_population_dataには'人口(総数)', '人口(男)', '人口(女)'の列がないと推測できますね。data.csvにはあったら、3行目のread_csvの問題かもしれません。公式サイトに調べたら、encodingの値が違うかもしれません。3行目は'shift-jis'ではなく、'shiftjis'にして、つまり下記のようにして実行してみてください: df_population_data = pd.read_csv('data.csv',encoding='shiftjis') ちなみに、公式ドキュメントはこちら:https://pandas.pydata.org/docs/reference/index.html
PPAP_AWS

2020/06/24 13:42

以下のコードに変更して、全てのdf_population_dataを全てエラー無く済んだのですが。 df_population_data = pd.read_csv('data.csv',encoding='shiftjis') やはり以下のコードのところでつまづいてしまうのですが、、、。 実行内容 df_population_data.groupby(by='都道府県名').mean()[['人口(総数)', '人口(男)', '人口(女)']].round(0) エラー内容 KeyError Traceback (most recent call last) <ipython-input-33-9470f8bfc389> in <module> ----> 1 df_population_data.groupby(by='都道府県名').mean()[['人口(総数)', '人口(男)', '人口(女)']].round(0) ~/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pandas/core/frame.py in __getitem__(self, key) 2804 if is_iterator(key): 2805 key = list(key) -> 2806 indexer = self.loc._get_listlike_indexer(key, axis=1, raise_missing=True)[1] 2807 2808 # take() does not accept boolean indexers ~/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pandas/core/indexing.py in _get_listlike_indexer(self, key, axis, raise_missing) 1550 keyarr, indexer, new_indexer = ax._reindex_non_unique(keyarr) 1551 -> 1552 self._validate_read_indexer( 1553 keyarr, indexer, o._get_axis_number(axis), raise_missing=raise_missing 1554 ) ~/.pyenv/versions/3.8.2/lib/python3.8/site-packages/pandas/core/indexing.py in _validate_read_indexer(self, key, indexer, axis, raise_missing) 1638 if missing == len(indexer): 1639 axis_name = self.obj._get_axis_name(axis) -> 1640 raise KeyError(f"None of [{key}] are in the [{axis_name}]") 1641 1642 # We (temporarily) allow for some missing keys with .loc, except in KeyError: "None of [Index(['人口(総数)', '人口(男)', '人口(女)'], dtype='object')] are in the [columns]"
YufanLou

2020/06/24 14:18

df_population_data.groupby(by='都道府県名').mean() を実行してみればどんな出力ですか?
PPAP_AWS

2020/06/24 14:34

以下のの実行内容は、エラー歯なかったです。が、今まで記載されていた記載と少し違いますが、、。よく理解していないですが。 df_population_data.groupby(by='都道府県名').mean() 以下の内容が、記載内容になります。 都道府県コード 和暦(年) 西暦(年) 人口(総数) 人口(男) 人口(女) 都道府県名 三重県 24.0 25.000000 1967.500000 1.534021e+06 7.433666e+05 7.906548e+05 以下のコードがご教授いただいた内容。 import numpy as np import pandas as pd df_population_data = pd.read_csv('data.csv',encoding='shift-jis') df_population_data 実行結果。 都道府県コード 都道府県名 元号 和暦(年) 西暦(年) 人口(総数) 人口(男) 人口(女) 0 1 北海道 大正 9.0 1920.0 2359183 1244322 1114861 記載内容が多少違いますが、何故、違ってしまうのか、教えていただけるととても助かります。 よろしくお願い致します。
YufanLou

2020/06/24 15:02

あ!わかりました。「人口(総数)」のカッコは全角ですが、前に用いていたのカッコは半角でした。だから見つからなかったのです。
YufanLou

2020/06/24 15:10

df_population_data.groupby(by='都道府県名').mean()[['人口(総数)', '人口(男)', '人口(女)']].round(0) を試してみてください。
PPAP_AWS

2020/06/25 04:58

df_population_data.groupby(by='都道府県名').mean()[['人口(総数)', '人口(男)', '人口(女)']].round(0) を何度か試したら、無事エラーが無く表示されました。 本当に有難うございます。
guest

回答2

0

自己解決

YufanLouさん本当に助かりました。
ご丁寧にご教授頂き、有難うございます。
今後とも宜しくお願いします。

投稿2020/06/25 05:03

PPAP_AWS

総合スコア105

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

'df_population_data'という変数が存在しない、といってます
これはどこで定義されてるんでしょうか

投稿2020/06/24 06:02

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

PPAP_AWS

2020/06/24 06:15

詳しい定義先なども熟知していないためわからないのですが、ここであってますか? df_population_data = pd.read_csv('data.csv',encoding='shift-jis') !pip install numpy import numpy as np ↓ import pandas as pd ↓ df_population_data = pd.read_csv('data.csv',encoding='shift-jis') ↓ df_population_data ↓ type(df_population_data) ↓ pd.reset_option('display.max_rows',1000)#最大表示行数 ↓ df_population_data ↓ pd.reset_option('display.max_rows') ↓ df_population_data ↓ pd.set_option('display.max_rows',5)#最大表示行数 ↓ df_population_data ↓ pd.reset_option('display.max_columns') ↓ df_population_data ↓ df_population_data.head() ↓ df_population_data.head(10) ↓ df_population_data.tail(10) ↓ df_population_data.sample(10) ↓ df_population_data.info() ↓ df_population_data.describe() ↓ df_population_data.describe().round(0) ↓ df_population_data.groupby(by='都道府県名').mean()[['人口(総数)', '人口(男)', '人口(女)']].round(0) (エラー)
y_waiwai

2020/06/24 06:22

定義の場所も含めた具体的なコードを提示しましょう。 それではなにもわかりません。
PPAP_AWS

2020/06/24 06:25

定義の場所も含めた具体的なコードは、どのように提示する方が良いか教えてきただけると助かります。 よろしく御願いします。
y_waiwai

2020/06/24 06:28

あなたの書いたコードを、質問を編集し、<code>ボタンを押し、出てきた’’’の枠の中にコードをそのままの形で貼り付けてください
PPAP_AWS

2020/06/24 06:35

教えていただきありがとうございます。 編集いたしました。編集後のコードのご確認御願いいたします。
y_waiwai

2020/06/24 06:40

あなたの書いたコードが間違っているために、そのエラーは出ています。 エラーを解決するためには、そのコードが見れないと間違ってる箇所は指定できません。 ところが、あなたはコードを提示しようとしないため、このエラーは解決できません。 > コードをそのままの形で貼り付けてください 。
PPAP_AWS

2020/06/24 07:32

再度コード編集しました。こちらで可能ですか? ご確認、ご指導御願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問