なろう分析記録

『小説家になろう』をふくめ『ネット小説投稿サイト』を分析する。コード置き場,主にPython,javascript,たまに創作。

【Pythonサンプルコード】Pandasで指定した列のユニークな要素と出現回数をリストとして取得する

ユニークな要素と出現回数をリストで取得したい

Pandasを使って指定列のユニークな要素と、それに対応する出現回数が入ったリストの作り方をご紹介します。

f:id:karupoimou:20191005212911p:plain
sample


使用するサンプル

import pandas as pd

fruits=["banana","apple","apple","banana","orange"]

df = pd.DataFrame(fruits, columns=["fruits"])
display(df)

f:id:karupoimou:20191005213941p:plain
結果

指定列内の全要素数

import pandas as pd

fruits=["banana","apple","apple","banana","orange"]
df = pd.DataFrame(fruits, columns=["fruits"])

#指定列の要素数
cnt=df["fruits"].count()
display(cnt)

f:id:karupoimou:20191005214028p:plain
結果

リスト内のユニークな要素と出現回数

import pandas as pd

fruits=["banana","apple","apple","banana","orange"]
df = pd.DataFrame(fruits, columns=["fruits"])

# ユニークな要素とその出現回数
df2=df['fruits'].value_counts()
display(df2)

# indexを列にする
df3=df2.reset_index()
display(df3)

# データフレームをリスト化する
tmp_list=df3.values.tolist()
display(tmp_list)

f:id:karupoimou:20191005214248p:plain
結果3

解説

df2=df['fruits'].value_counts()

ここで要素名をindexとする新たなデータフレームを作成する

df3=df2.reset_index()

indexはそのままではリストとして出力できないでの、一旦indexを一つの列に変換する

tmp_list=df3.values.tolist()

最後にリスト化する。

リスト化することによって、Flaskのテンプレートエンジンで取り扱ったりすることが容易になるので便利です。

参考ページ

note.nkmk.me