Python

【Python】Pandasにて先頭行の取得・削除・追加をする方法【headやdropなど】

当サイトでは記事内に広告を含みます

この記事では、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マスターを目指しましょう!