見出し画像

Python始めました。ユニークな要素の値 value_counts()

value_counts()は、ユニークな要素の値がindex、その出現個数がdataとなる・・・

何気なく使っていましたが、デフォルトでは出現回数が多いものから順にソートされる(降順)とのこと。

ソートしない場合は引数 sort=False とするが、現在のところ自分が使うときは降順ソートするケースしか思い浮かばない。
import pandas as pd
・・・・

df['要素'].value_counts(sort=False)

昇順ソートする場合は ascending=True ・・・ややこしい。

過去の勉強していたコードを見直していたら、ascending=True 使ってました。(下記★の行)

import pandas as pd
df = pd.read_csv('covid-19_daily_survey.csv') # 全国の医療機関の医療提供状況 https://corona.go.jp/dashboard/

# 行の抽出 : 医療区分回答 = 通常  かつ  医療区分 = 外来 
df_tg = df[(df['医療区分回答'] == '通常') * (df['医療区分'] == '外来')]

df_id = df_tg[['都道府県名']].value_counts()[0:10] # デフォルトで降順
df_id = df_id.sort_values(ascending=True) # ★ 昇順 に'都道府県名'の数を並べ替え

# グラフデータの作成
y = [ id[0] for id in df_id.index] # '都道府県名'
x = df_id.values # 件数

# 上位10要素を横棒グラフにする
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'MS Gothic'
fig,ax = plt.subplots()
ax.barh(y,x)
plt.show()
横棒グラフ

おわり

サポートを頂けると、沢山記事が書けると思います。