Python: データをさっときれいにするklib ver.1

Last Updated on December 12, 2020 by shibatau

I.何をする?

 

不要な行や列を削除してデータを軽くするライブラリklibの使用法を学びます。グラフが美しいです。

 

Speed up your Data Cleaning and Preprocessing with klib

 

II.なぞのグラフ

 

1.欠損値の可視化

 

COVID-19 Data Hubのデータを使って欠損値のグラフを作成します。このグラフを作っただけで、仕事してるって感じがしますが、グラフの読み方がわかりません。

 

スクリプトは次です。

 

import klib
from covid19dh import covid19
x, src = covid19()
klib.missingval_plot(x)

 

 

2.欠損値って何?

 

どのような値を欠損値として集計してしているかを簡単なデータで確認します。

サンプル・データは次です。

 

https://raw.githubusercontent.com/dataoptimal/posts/master/data%20cleaning%20with%20python%20and%20pandas/property%20data.csv

 

スクリプトは次です。

 

import pandas as pd
df0 = pd.read_csv('https://raw.githubusercontent.com/dataoptimal/posts/master/data%20cleaning%20with%20python%20and%20pandas/property%20data.csv')
klib.missingval_plot(df0)
 

 

 

これを先のデータの表に重ねると次になります。空白とNA、n/a、NA、NaNを欠損値として黒塗りにしています。これに対して、–やnaは欠損値としていないことがわかります。

ちなみに、NaNはPythonの、NAはRの標準的な欠損値表記です。

 

3.グラフの読み方

 

だとすると、次の図の3は、データの表で黒塗りは欠損値です。縦軸は行数で、横軸は列名です。

1は、各列の欠損値の割合の棒グラフです。縦軸が欠損値の割合で各バーに欠損値数が示されています。

2のTotalは、データの値の個数欠損値の個数、データの個数に対する欠損値の割合もっとも欠損値の多い列の欠損値の割合もっとも欠損値の多い行のの欠損値の割合を示しているようです。

4は、横軸に25まで数字がうたれていますが、各行の欠損値の割合を示すようです。2からMaxは83.0%ですが、25%以下の違いを見やすくしているのでは?

 

 

To be continued.

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.