この記事では、Pythonのpandasにて先頭行の取得・削除・追加をする方法【headやdropなど】をする方法を解説していきます。
基本的には、
・先頭のみ抽出:head関数を使う
・先頭のみ削除:drop関数を使う
・追加: concat関数を使う
といいです。
詳細は以下の通り。
Pandasにて先頭行の取得をする方法【先頭のみを抽出】
それでは以下で、Pythonのpandasで先頭行のみを抽出する方法を見ていきましょう。
データフレームを1から作成するよりcsvを読み込み方が楽なので、以下をサンプルとして読み込んで説明します!(C直下のrenshuuフォルダ内に、renshuu.csvがある)。
このrenshuu.csvの先頭行を取得しましょう(先頭のみを抽出する)。
この場合は
df.head(1)
と処理するだけでいいです。
これで先頭のみが取得できました。
なお、df.head()と引数を指定しないデフォルトの状態では、先頭5行分の抽出となるので気を付けましょう。
df.head(2)とすれば先頭2行分を取得
head関数の引数は先頭の~行目か?に当たるため、2といれれば先頭2行分までを取得できます!
df[:1]でも先頭の抽出ができる
head関数を使わずとも、df[:1]と書くことで先頭行の取得も可能です。
Pandasにて先頭行を削除する方法【drop関数】
今度は先頭行を消す方法を見ていきましょう。
先頭のみを消すにはdrop関数を使えばOKです。
df.drop(0)
でOKです。drop関数における先頭は「0」なことにも注意しましょう。
df[1:]でも先頭のみの削除が可能
df[1:]でも先頭行だけを消すことができます。
Pandasにて先頭行の追加をする方法
先頭行の追加をする際には、少し工夫が必要です。
最近では基本的にconcatを使うことが推奨されていることもあり、以下のように記載しましょう。
import pandas as pd
import os
os.chdir("C://renshuu")
df = pd.read_csv("renshuu.csv")
new_row = {'aaa': 99, 'bbb': 99} # これを先頭に追加したいデータとする
df = pd.concat([pd.DataFrame([new_row]), df]).reset_index(drop=True)
df
new_rowを予め準備しておき、concatにて、元のdfに結合させるイメージです(^^)/
まとめ Pandasにて先頭行の削除・追加・取得をする方法【headやdropなど】
この記事では、Pandasにて先頭行の取得・削除・追加をする方法【headやdropなど】について解説しました。
パス指定の処理は頻出のため、覚えておくといいです。
さまざまな扱いに慣れ、pythonマスターを目指しましょう!