PandasでDataFrameの最初の3行を削除する方法
PandasのDataFrameから最初の3行を削除するには、ilocメソッドを使うのが最もシンプルで確実な方法です。ilocは行番号(位置)に基づいてデータを選択するため、df.iloc[3:]のようにスライスを指定すれば、インデックス3以降の行、すなわち先頭の3行を除外したDataFrameを簡単に取得できます。
手順
- 2次元・サイズ変更可能な表形式データとして、DataFrame df を作成します。
- 入力のDataFrame df を表示して内容を確認します。
- df.iloc[3:] を使って最初の3行を削除します。
- 更新後のDataFrameを表示します。
サンプルコード
import pandas as pd
df = pd.DataFrame(
{
"x": [5, 2, 7, 0, 7, 0, 5, 2],
"y": [4, 7, 5, 1, 5, 1, 4, 7],
"z": [9, 3, 5, 1, 5, 1, 9, 3]
}
)
print("入力DataFrame:\n", df)
df = df.iloc[3:]
print("最初の3行を削除した後:\n", df)出力結果
入力DataFrame: x y z 0 5 4 9 1 2 7 3 2 7 5 5 3 0 1 1 4 7 5 5 5 0 1 1 6 5 4 9 7 2 7 3 最初の3行を削除した後: x y z 3 0 1 1 4 7 5 5 5 0 1 1 6 5 4 9 7 2 7 3
補足:元のインデックスを振り直したい場合
上記の方法では、残った行のインデックス(3〜7)がそのまま維持されます。連番に振り直したい場合は、reset_index()を組み合わせると便利です。
df = df.iloc[3:].reset_index(drop=True) print(df)
drop=Trueを指定すると、古いインデックスが新しい列として追加されるのを防げます。また、同様の操作はdropメソッド(例:df.drop(df.index[:3]))でも実現できますが、行数の分かる先頭部分の削除であれば、ilocによるスライスが最も直感的です。
-
【Python】Pandasのgroupby.first()でグループごとの最初の値を取得する方法
はじめに Pandasでは、groupby()メソッドでデータをグループ化した後、first()メソッドを使うことで、各グループの最初に出現する値を簡単に取得できます。本記事では、具体的なサンプルコードと実行結果をもとに、その使い方をわかりやすく解説します。 必要なライブラリのインポート まず、Pandasをエイリアス(別名)付きでインポートします。慣例として「pd」という名前を使うのが一般的です。 import pandas as pd サンプルDataFrameの作成 次に、「Car(車種)」「Place(地域)」「Units(台数)」の3つの列を持つDataFrameを作成します。
-
【Python】Pandas DataFrameからnull(欠損値)行を削除する方法|dropna()の使い方
PandasのDataFrameからnull(NaN)行を削除するには、dropna()メソッドを使用します。この記事では、NaNを含むCSVファイルを読み込み、dropna()で欠損値を含む行を取り除くまでの手順を、サンプルコードと実行結果とともにわかりやすく解説します。前提:NaNを含むCSVファイル今回の例では、一部にNaN(null値)が含まれる以下のようなCSVファイル(CarRecords.csv)を使用します。手順1:read_csv()でCSVファイルを読み込むまずpandasをインポートし、read_csv()を使ってCSVファイルを読み込みます。ここではデスクトップ上に保存