python未経験ですが、pythonの勉強会で、pandas100本ノックが課題にあったので、解きがてらこちらにメモを残します。
最初の基礎問題も飛ばせばいいだろうと思いつつ、あとから見返すために、解説を入れております。
普段はデータ分析初心者として、企業でSQLをたたく毎日を送っております。我流なので、コードが非効率などあるかもしれません。すみません!
まずはライブラリを読み込む
# ライブラリーの読み込み
import pandas as pd
import glob
# DataFrameの準備
df = pd.read_csv('./data/titanic3.csv')
df2 = pd.read_csv('./data/data1.csv')
df3 = pd.read_csv('./data1_2.csv')
df4 = pd.read_csv('./data/data1_3.csv')
df5 = pd.read_csv('./data/data2.csv',encoding='cp932')
# 【1】
# dfに読み込んだデータの最初の5行を表示
df.head()
dataframe名.head()はデフォルトで先頭5行表示する
()に表示したい行数を入れる
先頭10行を表示したい場合は .head(10)とおく
# 【2】
# dfに読み込んだデータの最後の5行を表示
df.tail()
dataframe名.tail()はデフォルトで最後の5行表示する
()に表示したい行数を入れる
最後10行を表示したい場合は .tail(10)とおく
# 【3】
# dfのDataFrameサイズを確認
df.shape
# 【4】
# inputフォルダ内のdata1.csvファイルを
# 読み込みdf2に格納して、最初の5行を表示
df2 = pd.read_csv('./input/data1.csv')
df2.head()
csvの読み込みをしたい場合 read_csv
必要に応じてencoding=”を指定
└ utf-8
└ shift_jis (日本語)
└ cp932 (Windows拡張文字含む日本語)
例:
df2 = pd.read_csv(‘./input/data1.csv’.encoding=’cp932′)
# 【5】
# dfのfareの列で昇順に並び替えて表示
df.sort_values('fare')
# 降順の場合は以下
df.sort_values('fare', ascending=False)
要素でソートする場合:sort_values
インデックス(行・列)でソート:sort_index()
デフォルトでは昇順
降順でソートしたい場合は ascending=False を指定
昇順
df.sort_valies(‘fare’)
降順
df.sort_values(‘fare’, ascending=False)
↑sqlだとascとdescだけど、pandasはそうじゃない涙
ソートする列を複数指定可能
複数列のでソート
df.sort_values([‘fare’,’age’])
# 【6】
# df_copyにdfをコピーして、最初の5行を表示
df_copy = df.copy()
df_copy.head()
df_copy = dfにすればいいのでは?と思ったので考えてみる
df_copy = df
→dfの値が変更されたらdf_copyも同様に変更される。
df_copy = df.copy()
→dfの値が変更される前にコピーを取ってしまう。この後dfの値を変更する場合はこれを使う的な?
# 【7】
# ① dfの各列のデータ型を確認
# ② dfのcabinの列のデータ型を確認