Pythonでデータ分析を始めたい方にとって、最初の大きな壁が「Pandas」です。しかし、使い方さえ理解すればデータを自由自在に扱える強力な武器になります。この記事では、初心者でも理解できるようにPandasのDataFrameの基本操作を丁寧に解説します。
Pandasとは?
PandasはPythonでデータ分析を行うためのライブラリで、特に表形式データの処理に強みを持っています。Excelのように行と列で構成されるデータを扱えるため、直感的に利用しやすいのが特徴です。さらに、CSVやExcelファイルからのデータ読み込みも簡単で、分析や前処理を効率よく進められます。したがって、データ分析を始めるなら必ず押さえておきたいライブラリと言えるでしょう。
DataFrameの基本
Pandasの中心的なデータ構造が「DataFrame」です。これは2次元の表形式データを扱うためのオブジェクトで、行と列にラベルを持っています。DataFrameを使えば、列ごとの演算や条件に基づく抽出、欠損値処理などを簡単に行えます。つまり、データ加工から分析までの一連の流れを効率化できるのです。
DataFrameを作成する方法
最初に、リストや辞書からDataFrameを作成する方法を見てみましょう。
import pandas as pd
# 辞書からDataFrameを作成
data = {
"名前": ["田中", "佐藤", "鈴木"],
"年齢": [25, 30, 22],
"職業": ["エンジニア", "デザイナー", "学生"]
}
df = pd.DataFrame(data)
print(df)
このコードを実行すると、表形式でデータが表示されます。リストや辞書を使うことで、少ないコード量で扱いやすい表を作れるのが魅力です。
CSVファイルを読み込む
実際のデータ分析では、外部ファイルからデータを読み込むことが多いです。PandasならCSVファイルの読み込みも非常に簡単です。
# CSVファイルの読み込み
df = pd.read_csv("sample.csv")
# 先頭5行を表示
print(df.head())
「read_csv」を使えば一行でCSVを読み込めます。さらに、Excelファイルの場合は「read_excel」を使えば同様に処理できます。このシンプルさがPandasの大きな魅力です。
基本的なデータ操作
行や列の選択
DataFrameでは、行や列を簡単に取り出せます。
# 列を選択
print(df["名前"])
# 複数列を選択
print(df[["名前", "年齢"]])
# 行を選択(先頭行)
print(df.loc[0])
このように「列名」や「loc」を使えば、欲しい部分だけ取り出せるため非常に便利です。
条件で抽出する
例えば、年齢が25歳以上の人だけを取り出すことも簡単にできます。
filtered = df[df["年齢"] >= 25]
print(filtered)
条件を指定するだけでデータを絞り込めるのは、Excelよりも効率的です。
データの集計とソート
分析では、データの集計や並び替えも重要です。Pandasならワンライナーで可能です。
# 平均年齢を計算
print(df["年齢"].mean())
# 年齢順にソート
print(df.sort_values("年齢"))
こうした集計処理を覚えておくと、日常的なデータ分析にもすぐに応用できます。
欠損値の処理
現実のデータには欠損値が含まれることが多いです。Pandasは欠損値処理も得意です。
# 欠損値を含む行を削除
df = df.dropna()
# 欠損値を0で埋める
df = df.fillna(0)
データを扱う上で欠損値の処理は避けて通れません。適切な方法を選ぶことで、分析の正確性を保つことができます。
応用テクニック
Pandasにはさらに便利な機能が多数あります。例えば「groupby」を使えばグループごとに集計できます。
# 職業ごとの平均年齢を計算
print(df.groupby("職業")["年齢"].mean())
このように数行で複雑な処理を実現できるのがPandasの強みです。データが大きくなっても処理を自動化できるため、効率的に分析を進められます。
よくあるエラーと注意点
初心者がつまずきやすいのは「列名のスペルミス」や「存在しない列の参照」です。また、文字コードが原因でCSVの読み込みに失敗するケースもよくあります。その場合は「encoding=”utf-8″」や「encoding=”shift-jis”」を指定してみましょう。さらに、大規模データを扱う際にはメモリ不足に注意が必要です。データを分割して処理するなど工夫すると解決できます。
Python初心者におすすめのサービス
「もっと実践的なコード例が欲しい」「自分の用途に合わせて教えてほしい」という方には、
テックアカデミーがおすすめです。
AI関連コースやシステム開発コース、アプリ開発コースなど豊富な学習が可能です。
さらに今なら無料相談でアマギフプレゼントもあるので、気軽にお申込みしてみてください。
また、プログラミング学習のプラットフォームとして、ココナラでは、現役エンジニアや経験豊富なPython講師が、あなたのレベルや目的に合わせてマンツーマンで指導してくれます。
書籍や動画ではカバーしきれない、あなた専用のカリキュラムで学べるのが最大の魅力。短時間で効率的にスキルを伸ばしたいなら、まずは出品者のサービスをチェックしてみましょう。
また、教える側としてスキルを活かして副業・独立を目指すことも可能です。
プログラミング経験やPythonの知識があれば、自分の得意分野をサービスとして出品し、全国の学習者から直接依頼を受けられます。オンラインで完結するため、場所や時間に縛られず、自分のペースで働けるのも大きなメリットです。
こちらのリンクから詳細をチェックしてみてください。
まとめ
Pandasを使えば、Pythonで効率的にデータを操作できるようになります。まずはDataFrameの基本を押さえ、少しずつ応用へ広げていきましょう。
以下のリンクから、
SESの組込みシステムから色々な不満を持ち、自社WEBサービスへ転職した実体験の記事がありますので、是非読んでみてください。とても喜びます。
SESの組込みシステムから自社WEBサービスのエンジニアに転職した話

コメント