Python: 試験結果を実名公開!?, faker, pandas-profiling

試験結果をprofiling

 

英数と日本語の試験結果をpandas-profilingで集計しました。

次の1行だけでこのデータ(d2)の概要を知ることができます。

 

pandas_profiling.ProfileReport(df2)

 

受験生100人で、英語は平均ほぼ40点、日本語の平均は59点です。ヒストグラムの形から見ると両者ともほぼ正規分布(つりがね型の分布)しているようです。

散布図はありませんが、ピアソンの相関係数のヒートマップから見て、英語と日本語の得点に相関はなさそうです。

これだけの集計を1行のスクリプトで実行するpandas-profilingは本当にすごいです。

 

 

 

最後に氏名まであります、、、でも、そんなこと公表していいの?

よく見てみると性別と氏名が合っていないようです、、、それに、100人ぐらいの試験で英語も日本語もきれいに正規分布するなんて!?、さらに英語と日本語にほとんど相関関係がないなんて!?、、、ちょっと怪しいと思いますよね。

実は、このデータは偽物です。PythonのライブラリFakerを使用して氏名を作成しています。Fakerを使うと氏名や住所、メールアドレス、コメントなどのfakeデータを作成できます、、、これは便利です。

スクリプトは次です。

 

# install faker
!pip install Faker
# import libraries
from faker import Faker
import pandas as pd
import numpy as np
# jananese and english tests
fake = Faker('ja_JP')
fake.seed(4321)
ID=[]
name=[]
gender=[]
for _ in range(100):
   name.append(fake.name())
ID=pd.Series(range(1,101))
year=np.random.choice([1,2,3,4],size=100)
english=np.random.normal(loc=40,scale=10,size=100)
japanese=np.random.normal(loc=60,scale=10,size=100)
gender=np.random.choice([0, 1], size=100, p=[.6, .4])
df2=pd.DataFrame({'ID':ID,'name':name,'year':year,'enlish':english,'japanese':japanese,'gender':gender})
print(df)
# profiling
import pandas_profiling
pandas_profiling.ProfileReport(df2)

 

Fakerについては次の記事をご参照ください。

 

サンプルデータの作成

 

Please follow and like us:
error

About shibatau

I was born and grown up in Kyoto. I studied western philosophy at the University and specialized in analytic philosophy, especially Ludwig Wittgenstein at the postgraduate school. I'm interested in new technology, especially machine learning and have been learning R language for two years and began to learn Python last summer. Listening toParamore, Sia, Amazarashi and MIyuki Nakajima. Favorite movies I've recently seen: "FREEHELD". Favorite actors and actresses: Anthony Hopkins, Denzel Washington, Ellen Page, Meryl Streep, Mia Wasikowska and Robert DeNiro. Favorite books: Fyodor Mikhailovich Dostoyevsky, "The Karamazov Brothers", Shinran, "Lamentations of Divergences". Favorite phrase: Salvation by Faith. Twitter: @shibatau

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.