PythonでCSVファイルから特定の列を効率的に読み込む方法

この記事では、Pythonを用いてCSV(Comma Separated Values)ファイルから特定の列だけを読み込む方法を紹介します。具体的なコード例とその解説、応用例を含めています。

目次

なぜ特定の列だけを読むのか

大規模なCSVファイルを扱う際、全てのデータを読み込むとメモリ消費が大きくなる場合があります。そのような状況で特定の列だけに焦点を当てたい場合、このテクニックは非常に有用です。

Python標準ライブラリを用いた方法

csvモジュール

Python標準ライブラリの`csv`モジュールを使った基本的な方法です。

import csv

# CSVファイルを開く
with open('example.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row[2])  # 3列目だけを出力

注意点

– 列番号は0から始まるため、3列目を指定する場合は`row[2]`となります。
– ファイル全体を読み込むため、大規模なファイルでは非効率です。

pandasを用いた効率的な方法

基本的な読み込み

`pandas`ライブラリを用いると、より効率的かつ簡単に特定の列だけを読み込むことができます。

import pandas as pd

# 特定の列だけを読む
df = pd.read_csv('example.csv', usecols=['Name', 'Age'])
print(df)

長所と短所

– 長所:大規模なファイルでも効率的に読み込めます。
– 短所:pandasを事前にインストールする必要があります。

応用例

1. データフレームから条件に合う行を抽出

filtered_df = df[df['Age'] > 30]
print(filtered_df)

2. データの統計量を簡単に取得

print(df['Age'].describe())

3. 列を基にデータをソート

sorted_df = df.sort_values('Age')
print(sorted_df)

まとめ

PythonでCSVファイルから特定の列を読み込む方法には、Python標準ライブラリの`csv`モジュールと、効率的な`pandas`ライブラリがあります。用途に応じて適切な方法を選びましょう。

コメント

コメントする

目次