データのミスをチェックする Python

欠損値

わざわざ欠損値を入力するときは「None」と指定する

pandasは欠損値を「NaN」と返す

import pandas as pd
data = {
“SBP”:[125,145,None,110],
“DBP”:[80,None,None,70]
}
idx = [“A”,”B”,”C”,”D”]
dfA = pd.DataFrame(data, index=idx)
dfA

欠損値の個数を確認

dfA.isnull().sum()

欠損値がある行を削除

dfB = dfA.dropna()
dfB

指定した列で欠損値がある行を削除

 #SBPのデータに欠損値のある行だけを削除
dfB = dfA.dropna(subset =[“SBP”])
dfB

「削除」するのではなく「別の値で埋める」という方法で欠損値を処理する

欠損値を平均値で埋める

dfB = dfA.fillna(dfA.mean())
dfB

欠損値を1つ前の値で埋める

dfB = dfA.fillna(method=’ffill’)
dfB

重複したデータ

重複したデータを削除する

import pandas as pd
data = [
[10,30,40],
[20,30,40],
[20,30,40],
[30,30,50],
[20,30,40]
]
dfA = pd.DataFrame(data)
dfA

重複データの個数を数える

dfA.duplicated().value_counts()

重複データの2つ目以降を削除する

dfB = dfA.drop_duplicates()
dfB

その他

文字列型のデータを数値に変化する

import pandas as pd
data = {
“A” : [“100″,”300”],
“B” : [“500″,”1,500”],
}
dfA = pd.DataFrame(data)
dfA

データの種類を調べる

dfA.dtypes

列Aを整数に変換

dfA[“A”] = dfA[“A”].astype(int )
dfA.dtypes

カンマ付き文字列の列データのカンマを削除する

dfA[“B”] = dfA[“B”].str.replace(“,” , “”) .astype(int)
dfA.dtypes

コメント

タイトルとURLをコピーしました