本記事では、データの前処理以前に使用する16個の雛形コードを載せました。例えば、csvファイルを読み込み後に必要な列だけを抽出したり、列を指定して単位を変換したり、特定の列の特定の数値を欠損値NaNに変換したり、行列散布図や基本統計量で飛び値のチェックやカテゴリ変数決めのためにデータチェックするための頻出コード一覧です。
import pandas as pd
file_path = './data.csv'
df = pd.read_csv(file_path,
header = 0, # ヘッダー行
skiprows = [1, 2], # 飛ばす行をリストで指定
encoding='utf-8')
data_list = ['orange', 'apple', 'grape', 'price', 'amount']
df2 = df[data_list]
df3 = df2.copy()
df3['orange'] = df3['orange'] / 1000
df3['apple'] = df3['apple'] / 1000
df4 = df3.rename(columns = {
'orange': 'orange_k',
'apple': 'apple_k'}
)
y_target = 'price'
x_list = ['orange', 'apple', 'grape']
xy_list = x_list + [y_target]
df5 = df4[xy_list]
import numpy as np
df6 = df5.copy()
df6[y_target] = df6[y_target].replace([0], np.nan)
print(df6.isna().sum())
df7 = df6.dropna(axis=0)
df7_describe = df7.describe()
df7_describe_t = df7_describe.transpose()
print(df7_describe_t)
import matplotlib
import matplotlib.pyplot as plt
fig = plt.figure(figsize(6, 6), dpi=120)
ax = fig.add_subplot(1, 1, 1)
plt.subplots_adjust(left=0.1, right=0.95, bottom=0.1, top=0.95)
df7.hist(ax=ax)
plt.tight_layout()
import seaborn as sns
sns.set_context('talk')
g = sns.pairplot(df7,
kind = 'reg',
markers=",",
diag_kind="kde",
diag_kws=dict(shade=True),
)
print(df7.dtypes)
df7_extract = df7[(df7['grape'] = 100)]
xy_df = df7_extract[['orange', 'apple', y_target]]
sns.set('notebook', 'whitegrid', 'dark', font_scale=1.4)
sns.lmplot(
'orange',
y_target,
xy_df,
hue = 'apple',
palette = 'bwr',
order = 2,
)
ax = plt.gca()
y_min, y_max = ax.get_ylim()
ax.set_ylim(0, y_max)
df7_s = df7.sort_values(y_target, ascending=True)
df7_s.to_csv('00_extracted_data_' + y_target + '.csv')
以上
<広告>
リンク