import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
DataFrame 型
# DataFrame 型に変換
df = pd.DataFrame(list)
# 転地
print(df.T)
内容の確認
# 四分位数や平均などをまとめて表示
print(df.describe())
# 先頭から〇個の行を表示
print(df.head(3))
# カラム名
print(df.columns)
# 最小値
print(min(df['列名']))
# 最大値
print(max(df['列名']))
# 相関係数
print(df.corr())
抜き出し / 追加 / 削除
# すべての行の 0 列目を抜き出す | 戻り値:Series 型
t = df.iloc[:, 0]
# すべての行の 1 列目以降を抜き出す | 戻り値:ndarray 型
t = df.iloc[:, 1:].values
# 指定した列名の列を抜き出す | 戻り値:Series 型
column_label = '列名1'
col_ = df[column_label]
# 新規列の作成 'Target' 列の追加
df['列名'] = ndarray
並べ替え
# 昇順で並び替え
column_label = '列名'
sort_df = df.sort_values(column_label )
print(sort_df .head())
# 降順で並び替え
column_label = '列名'
sort_df = df.sort_values(column_label, ascending=False)
print(sort_df .head())
Series 型
# Series 型へ変換
series = pd.Series(list)
# 値の確認
series['行名']
# 行名リスト
series.index.values
ndarray 型
# ndarray 型へ変換
x.values
行列の操作
# 平均値 : DataFrame 型
column_label = '列名'
mean = df[column_label].mean()
# 平均値 : リスト型 / ndarray 型
test_A_average = sum(test_A) / len(test_A)
# 中央値
import statistics
test_A_median = statistics.median(test_A)
# 範囲
test_A_range = max(test_A) - min(test_A)
重複行の処理
# 行が重複しているか確認
df.duplicated(keep=False)
# 重複行 の個数確認
df.duplicated(keep=False).value_counts()
# 重複行の削除
df = df.drop_duplicates()
欠損値の処理
# 値の種類を取得
df['列名'].unique()
# 欠損値の確認
df.isnull()
# 欠損値の個数
df.isnull().sum()
欠損値の除去
# 行を丸ごと除去
df = df.dropna(subset=['列名'])
# 列を丸ごと除去
df = df.drop(labels='列名', axis=1)
欠損値の補完
# 平均値で補完
df = df.fillna({'列名':df['列名'].mean()})
# 中央値で補完
column_label = '列名'
df = df.fillna({col_label :df[column_label].median()})
# 最頻値で補完
column_label = '列名'
df = df.fillna({column_label:df[column_label].mode()[0]})
外れ値の除去
3σ法 による外れ値の行の削除
# 3σ法 による外れ値の行の削除
column_label = '列名'
mu = df[column_label].mean()
sigma = df[column_label].std()
df2 = df[(mu - 3 * sigma <= df[column_label]) & (df[column_label] <= mu + 3 * sigma)]
CSV
# データの読み込み
df = pd.read_csv('path')
# データフレームを csv で出力
df.to_csv("test.csv")
# csv の書き出し | windows
pd.Series(data, name='列名').to_csv('filename.csv', index=None, line_terminator='\n')
# csv の書き出し | mac
pd.Series(data, name='列名').to_csv('filename.csv', index=None)