Pythonのデータ分析を強力にサポート!Pandas入門
Pythonでデータ分析を行う上で、欠かせないライブラリの一つが Pandas です。表形式のデータを扱うことに特化しており、データの読み込み、整理、加工、分析、そして可視化まで、データ分析の一連のワークフローを効率的にこなすことができます。
Pandasとは?
Pandasは、NumPyをベースに構築されたライブラリで、以下のような特徴を持っています。
- 表形式データの操作に最適: ExcelやCSVのような表形式データを効率的に扱えます。
- データ構造が強力:
Series
とDataFrame
という2つの主要なデータ構造を提供します。 - 欠損値の処理が容易: 欠損値(NaN)を柔軟に扱う機能が充実しています。
- データの結合・集約が簡単: 複数のデータを結合したり、特定の条件で集計したりする操作が容易に行えます。
- 柔軟なデータ操作: データの抽出、並び替え、フィルタリングなど、様々な操作を直感的に記述できます。
Pandasの主要なデータ構造: SeriesとDataFrame
Pandasの中心となるデータ構造は、Series
とDataFrame
です。
- Series: 1次元のラベル付き配列です。NumPyのndarrayと似ていますが、各要素にラベル(インデックス)を付けることができます。
- DataFrame: 2次元のラベル付きテーブルです。複数のSeriesが列として結合されたもので、ExcelのシートやSQLのテーブルのようなイメージです。
Pandasを使ってみよう!
まずはPandasをインストールしましょう。
pip install pandas
次に、PythonスクリプトでPandasをインポートします。
import pandas as pd
DataFrameの作成
辞書を使ってDataFrameを作成する例を見てみましょう。
data = {
'名前': ['Alice', 'Bob', 'Charlie'],
'年齢': [25, 30, 28],
'職業': ['エンジニア', 'データサイエンティスト', 'マーケター']
}
df = pd.DataFrame(data)
print(df)
このコードを実行すると、以下のようなDataFrameが表示されます。
名前 年齢 職業
0 Alice 25 エンジニア
1 Bob 30 データサイエンティスト
2 Charlie 28 マーケター
CSVファイルの読み込み
CSVファイルを読み込むには、read_csv()
関数を使用します。
# data.csvというファイルが存在することを前提とします
df = pd.read_csv('data.csv')
print(df)
データの抽出
DataFrameから特定の列を抽出するには、列名を指定します。
ages = df['年齢']
print(ages)
また、特定の条件を満たす行を抽出することもできます。
engineers = df[df['職業'] == 'エンジニア']
print(engineers)
データの集計
groupby()
関数を使うと、特定の列を基準にデータを集計できます。
# 職業ごとの平均年齢を算出
average_ages = df.groupby('職業')['年齢'].mean()
print(average_ages)
欠損値の処理
欠損値はNaN
で表現されます。欠損値を含む行を削除するにはdropna()
関数を使用します。
df_cleaned = df.dropna()
print(df_cleaned)
欠損値を特定の値で埋めるにはfillna()
関数を使用します。
# 欠損値を0で埋める
df_filled = df.fillna(0)
print(df_filled)
まとめ
Pandasは、Pythonでデータ分析を行う上で非常に強力なツールです。 Series
とDataFrame
という柔軟なデータ構造、欠損値処理、データの結合・集約、そしてデータの抽出など、データ分析に必要な機能が豊富に用意されています。
このコラムでは、Pandasの基本的な使い方を紹介しましたが、Pandasにはまだまだ多くの機能があります。 ぜひ、Pandasのドキュメントやチュートリアルを参考に、より深くPandasを理解し、データ分析スキルを向上させてください。 Pandasを使いこなせるようになれば、データ分析の効率が飛躍的に向上するでしょう。
◯月額4,000円で質問し放題!!
◯完全オンライン
◯翌日までには必ず返信
◯挫折しない独自の学習メソッド
◯圧倒的高評価!!
◯テキストベースで時間を選ばない
詳細はこちら
興味がある方はまず質問だけでもどうぞ!
