（備忘）財務省貿易統計データの探し方〜コーヒー豆が世界一高価なのはどこ？〜

# 背景
コーヒーの本を読んでいる時に、
「**ブラジルのコーヒー豆輸入平均単価はx円（財務省「コーヒー輸入統計」より）**」
という記述がありまして、データ触ってみたいなと思いました。

# コーヒー輸入データのcsvダウンロード手順
## 財務省貿易統計トップページ
http://www.customs.go.jp/toukei/info/index.htm

## 検索機能の使い方:ある商品の貿易を調べる
http://www.customs.go.jp/toukei/sankou/howto/krei.htm#02
> 貿易統計は9桁の統計品目番号毎に集計していますので、お調べの品物についての9桁の統計品目番号で検索することができます

## 統計品目番号の調べ方
http://www.customs.go.jp/toukei/sankou/howto/hs.htm
> 9桁の統計品目番号については、税関ホームページに掲載されてる輸出統計品目表（輸出の場合）や実行関税率表（輸入の場合）でお調べいただけます。

## 品目番号確認の説明図
http://www.customs.go.jp/toukei/sankou/howto/zu_hs/h01.htm

## 輸入統計品目表（実行関税率表）（2019年4月1日版）
第2部　植物性生産品 
第9類　コーヒー、茶、マテ及び香辛料
http://www.customs.go.jp/tariff/2019_4/data/j_09.htm
<font color="orange">**コーヒー（カフェインを除いてないもの）の品目番号は「090111000」っぽい**</font>

## <font color="orange">品別国別表による検索</font>
http://www.customs.go.jp/toukei/srch/index.htm?M=01&P=0
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/237551/c7239f40-1260-e3ad-1ff8-6ded7ced01c1.png)
<font color="orange">検索結果が3000件以下の場合は、csvダウンロードできるとのこと</font>
中身はこんな感じ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/237551/dedf7261-edb3-9e1c-a9a5-fde852cd47bc.png)
月別では見れない？季節性も見たかった・・。

# pythonで可視化してみる
```python
#%%
import pandas as pd
PATH_IN = "../data/coffee_2018.csv"

df = pd.read_csv(PATH_IN, skiprows=8, encoding="sjis")

if False:  # check
    df.shape
    #(45, 11)
    
    df.head(1).T
    """
    品目      0901.11-000
    国              '105
    国名          中華人民共和国
    第１単位            NaN
    第２単位             KG
    当月第１数量          NaN
    当月第２数量          NaN
    当月金額            NaN
    累計第１数量          NaN
    累計第２数量        83184
    累計金額          26624    
    """

    df.isnull().sum()
    """
    品目         0
    国          0
    国名         0
    第１単位      45
    第２単位       0
    当月第１数量    45
    当月第２数量    45
    当月金額      45
    累計第１数量    45
    累計第２数量     0
    累計金額       0
    dtype: int64
    """

# drop columns of all null
df = df.loc[:, df.isnull().sum() < 45]

if False:  # check
    df.shape  # (45, 6)
    
    df.head(1).T
    """
    目      0901.11-000
    国              '105
    国名          中華人民共和国
    第２単位             KG
    累計第２数量        83184
    累計金額          26624
    """

    df.nunique()
    """
    品目         1
    国         45
    国名        45
    第２単位       1
    累計第２数量    45
    累計金額      45
    """

# drop columns have only one value
df = df.loc[:, df.nunique()>1]

#df.head()
"""
      国       国名    累計第２数量      累計金額    en_per_kg
0  '105  中華人民共和国     83184     26624   320.061550
1  '106       台湾       347      1847  5322.766571
2  '110     ベトナム  98188365  20552045   209.312427
3  '111       タイ     75052     63408   844.854234
4  '117    フィリピン      5625      4217   749.688889
"""

# 金額単位は1000円（検索結果ページより）。kgあたり価格を算出
df["en_per_kg"] = df['累計金額'] * 1000 / df['累計第２数量']

# kgあたり単価が高い順
# df.sort_values(by="en_per_kg", ascending=False).head()
"""
618        ニューカレドニア（仏）      54     928  17185.185185
40  '548           レユニオン（仏）     201    2584  12855.721393
35  '537  セントヘレナ及びその附属諸島（英）      59     689  11677.966102
1   '106                 台湾     347    1847   5322.766571
14  '304            アメリカ合衆国   97025  493972   5091.182685
"""

# kgあたり単価が安い順
# df.sort_values(by="en_per_kg", ascending=True).head()
"""
       国       国名     累計第２数量      累計金額   en_per_kg
2   '110     ベトナム   98188365  20552045  209.312427
38  '542     ウガンダ    1198879    332196  277.088847
30  '410     ブラジル  111452987  35479175  318.333101
5   '118   インドネシア   30344490   9696931  319.561509
0   '105  中華人民共和国      83184     26624  320.061550
"""

import matplotlib.pyplot as plt
import seaborn as sns
import japanize_matplotlib
plt.figure(figsize=(10,4))
tmp = df.sort_values(by="en_per_kg", ascending=True)
barp = sns.barplot(data=tmp, x="国名", y="en_per_kg")
xx = barp.set_xticklabels(barp.get_xticklabels(), rotation=270)

```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/237551/d5815269-0bf1-09e1-dafe-9a25ad166626.png)

1万円/kg越えって何だよ・・・
→ニューカレドニアのは幻のコーヒーらしいです。200gで3000円くらいで売ってる。
http://www.aqua-nc.com/netshop/shop_frame.htm
どうやらバグではなさそう。

以上

（初めてvscode使ってみた。可視化を対話的にやる設定方法が分からない。画像をコピーする方法も（上図はmacのキャプチャ機能））

（世界地図にマッピングしたい。今度やってみよう）