質問編集履歴

3 誤字

退会済みユーザー

退会済みユーザー

2020/07/07 17:10  投稿

groupby()メソッドを利用したグラフの実現
### 前提・実現したいこと
csvファイルを読み込み、そこからpandasにおけるgroupby()メソッドを利用して国のコードが"JP"のみのデータの平均値をとり、それをグラフ化したいのですがgroupbyを使用するところでエラーが発生しました。
どなたか原因を教えていただきたいです。
### 発生している問題・エラーメッセージ
```
KeyError                                 Traceback (most recent call last)
<ipython-input-10-5bf405663c72> in <module>()
    20
    21 import plotly_express as px
---> 22 df_melt = df.melt(id_vars='date', value_vars=["小売・娯楽", "食料品店・薬局", "公園", "乗換駅", "職場", "住宅"])
    23 fig = px.line(df_melt, x="date", y="value", color='variable',
    24              title="Google Mobility Report")
7 frames
/usr/local/lib/python3.6/dist-packages/pandas/core/indexing.py in _validate_read_indexer(self, key, indexer, axis, raise_missing)
  1653            if not (ax.is_categorical() or ax.is_interval()):
  1654                raise KeyError(
-> 1655                    "Passing list-likes to .loc or [] with any missing labels "
  1656                    "is no longer supported, see "
  1657                    "https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#deprecate-loc-reindex-listlike" # noqa:E501
KeyError: 'Passing list-likes to .loc or [] with any missing labels is no longer supported, see https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#deprecate-loc-reindex-listlike'
```
### 該当のソースコード
```Python
import pandas as pd
# Google's COVID-19 Community Mobility Reports (COVID-19 コミュニティ モビリティ レポート) の読み込み
df = pd.read_csv("/content/drive/My Drive/Global_Mobility_Report.csv", encoding="utf-8")
df = df.rename(columns={'retail_and_recreation_percent_change_from_baseline':'小売・娯楽',
                       'grocery_and_pharmacy_percent_change_from_baseline': '食料品店・薬局',
                       'parks_percent_change_from_baseline': '公園',
                       'transit_stations_percent_change_from_baseline': '乗換駅',
                       'workplaces_percent_change_from_baseline': '職場',
                       'residential_percent_change_from_baseline': '住宅'})
# 日本のデータのみ絞り込む (# データ数 = 6240件)
#print(df.info())
grp = df.groupby('country_region_code').mean()
df = grp.query('country_region_code == "JP"')
import plotly_express as px
df_melt = df.melt(id_vars='date', value_vars=["小売・娯楽", "食料品店・薬局", "公園", "乗換駅", "職場", "住宅"])
fig = px.line(df_melt, x="date", y="value", color='variable',
             title="Google Mobility Report")
fig.show()
```
----------------------
もう一度考え直したいので白紙にさせてください
  • Python

    25896 questions

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

2 文法の修正

退会済みユーザー

退会済みユーザー

2020/07/05 08:02  投稿

groupby()メソッドを利用したグラフの実現
### 前提・実現したいこと
csvファイルを読み込み、そこからpandasにおけるgroupby()メソッドを利用して国のコードが"JP"のみのデータの平均値をとり、それをグラフ化したいのですがgroupbyを使用するところでエラーが発生しました。
どなたか原因を教えていただきたいです。
### 発生している問題・エラーメッセージ
```
/usr/local/lib/python3.6/dist-packages/pandas/core/groupby/grouper.py in get_grouper(obj, key, axis, level, sort, observed, mutated, validate)
   598                in_axis, name, level, gpr = False, None, gpr, None
   599            else:
--> 600                raise KeyError(gpr)
   601        elif isinstance(gpr, Grouper) and gpr.key is not None:
   602            # Add key to exclusions
KeyError                                 Traceback (most recent call last)
<ipython-input-10-5bf405663c72> in <module>()
    20
    21 import plotly_express as px
---> 22 df_melt = df.melt(id_vars='date', value_vars=["小売・娯楽", "食料品店・薬局", "公園", "乗換駅", "職場", "住宅"])
    23 fig = px.line(df_melt, x="date", y="value", color='variable',
    24              title="Google Mobility Report")
KeyError: 'JP'
7 frames
/usr/local/lib/python3.6/dist-packages/pandas/core/indexing.py in _validate_read_indexer(self, key, indexer, axis, raise_missing)
  1653            if not (ax.is_categorical() or ax.is_interval()):
  1654                raise KeyError(
-> 1655                    "Passing list-likes to .loc or [] with any missing labels "
  1656                    "is no longer supported, see "
  1657                    "https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#deprecate-loc-reindex-listlike" # noqa:E501
KeyError: 'Passing list-likes to .loc or [] with any missing labels is no longer supported, see https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#deprecate-loc-reindex-listlike'
```
### 該当のソースコード
```Python
import pandas as pd
# Google's COVID-19 Community Mobility Reports (COVID-19 コミュニティ モビリティ レポート) の読み込み
df = pd.read_csv("/content/drive/My Drive/Global_Mobility_Report.csv", encoding="utf-8")
df = df.rename(columns={'retail_and_recreation_percent_change_from_baseline':'小売・娯楽',
                       'grocery_and_pharmacy_percent_change_from_baseline': '食料品店・薬局',
                       'parks_percent_change_from_baseline': '公園',
                       'transit_stations_percent_change_from_baseline': '乗換駅',
                       'workplaces_percent_change_from_baseline': '職場',
                       'residential_percent_change_from_baseline': '住宅'})
# 日本のデータのみ絞り込む (# データ数 = 6240件)
print(df.info())  
df = df.groupby("JP").mean()
#print(df.info())
grp = df.groupby('country_region_code').mean()
df = grp.query('country_region_code == "JP"')
import plotly_express as px
df_melt = df.melt(id_vars='date', value_vars=["小売・娯楽", "食料品店・薬局", "公園", "乗換駅", "職場", "住宅"])
fig = px.line(df_melt, x="date", y="value", color='variable',
             title="Google Mobility Report")
fig.show()
```
###実行結果
Data columns (total 13 columns):
 Column              Non-Null Count  Dtype 
--- ------              --------------  ----- 
0  country_region_code 605422 non-null object
1  country_region      606467 non-null object
2  sub_region_1        588497 non-null object
3  sub_region_2        350398 non-null object
4  iso_3166_2_code     220137 non-null object
5  census_fips_code    350532 non-null float64
6  date                606467 non-null object
7  小売・娯楽               464961 non-null float64
8  食料品店・薬局             445097 non-null float64
9  公園                  276593 non-null float64
10 乗換駅                 322793 non-null float64
11 職場                  592165 non-null float64
12 住宅                  336291 non-null float64
```
  • Python

    25896 questions

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

1 追記依頼の実行

退会済みユーザー

退会済みユーザー

2020/07/05 06:47  投稿

groupby()メソッドを利用したグラフの実現
### 前提・実現したいこと
csvファイルを読み込み、そこからpandasにおけるgroupby()メソッドを利用して国のコードが"JP"のみのデータの平均値をとり、それをグラフ化したいのですがgroupbyを使用するところでエラーが発生しました。
どなたか原因を教えていただきたいです。
### 発生している問題・エラーメッセージ
```
/usr/local/lib/python3.6/dist-packages/pandas/core/groupby/grouper.py in get_grouper(obj, key, axis, level, sort, observed, mutated, validate)
   598                in_axis, name, level, gpr = False, None, gpr, None
   599            else:
--> 600                raise KeyError(gpr)
   601        elif isinstance(gpr, Grouper) and gpr.key is not None:
   602            # Add key to exclusions
KeyError: 'JP'
```
### 該当のソースコード
```Python
import pandas as pd
# Google's COVID-19 Community Mobility Reports (COVID-19 コミュニティ モビリティ レポート) の読み込み
df = pd.read_csv("/content/drive/My Drive/Global_Mobility_Report.csv", encoding="utf-8")
df = df.rename(columns={'retail_and_recreation_percent_change_from_baseline':'小売・娯楽',
                       'grocery_and_pharmacy_percent_change_from_baseline': '食料品店・薬局',
                       'parks_percent_change_from_baseline': '公園',
                       'transit_stations_percent_change_from_baseline': '乗換駅',
                       'workplaces_percent_change_from_baseline': '職場',
                       'residential_percent_change_from_baseline': '住宅'})
# 日本のデータのみ絞り込む (# データ数 = 6240件)
print(df.info())  
df = df.groupby("JP").mean()
import plotly_express as px
df_melt = df.melt(id_vars='date', value_vars=["小売・娯楽", "食料品店・薬局", "公園", "乗換駅", "職場", "住宅"])
fig = px.line(df_melt, x="date", y="value", color='variable',
             title="Google Mobility Report")
fig.show()
```
```
###実行結果
Data columns (total 13 columns):
 Column              Non-Null Count  Dtype 
--- ------              --------------  ----- 
0  country_region_code 605422 non-null object
1  country_region      606467 non-null object
2  sub_region_1        588497 non-null object
3  sub_region_2        350398 non-null object
4  iso_3166_2_code     220137 non-null object
5  census_fips_code    350532 non-null float64
6  date                606467 non-null object
7  小売・娯楽               464961 non-null float64
8  食料品店・薬局             445097 non-null float64
9  公園                  276593 non-null float64
10 乗換駅                 322793 non-null float64
11 職場                  592165 non-null float64
12 住宅                  336291 non-null float64
  • Python

    25896 questions

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

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る