Python
 Computer >> コンピューター >  >> プログラミング >> Python

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によるスライスが最も直感的です。

  1. 【Python】Pandasのgroupby.first()でグループごとの最初の値を取得する方法

    はじめに Pandasでは、groupby()メソッドでデータをグループ化した後、first()メソッドを使うことで、各グループの最初に出現する値を簡単に取得できます。本記事では、具体的なサンプルコードと実行結果をもとに、その使い方をわかりやすく解説します。 必要なライブラリのインポート まず、Pandasをエイリアス(別名)付きでインポートします。慣例として「pd」という名前を使うのが一般的です。 import pandas as pd サンプルDataFrameの作成 次に、「Car(車種)」「Place(地域)」「Units(台数)」の3つの列を持つDataFrameを作成します。

  2. 【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ファイルを読み込みます。ここではデスクトップ上に保存