前回の記事で統計量を活用してデータの全体像を確認しました。その結果、データの中に「この数値は本当?」「どんな内容だろう?」と詳細を確認したくなるポイントが見つかった場合、次のステップとして Series型 を活用して確認する方法を紹介します。
目次
Series型とは?
- 一次元データ を表す型で、Excelの1列だけを取り出したようなものです。
- 対して、DataFrame型は行と列の組み合わせで、Excel全体のような二次元データを扱います。
- 主な違い
Series型では1列だけを操作できるため、使える関数が異なる場合があります。
Series型の例
import pandas as pd
# データを読み込み
df = pd.read_csv("data.csv")
# 'age'カラムをSeries型で表示
age_series = df['age']
print(type(age_series)) # <class 'pandas.core.series.Series'>
Series型でデータを確認
Series型を使うことで、特定の列に絞ってデータを簡単に確認できます。例えば、head()
を使うと上から5行だけ表示できます。
# 'job'カラムを確認
print(df['job'].head())
実行結果
0 management
1 technician
2 entrepreneur
3 blue-collar
4 retired
Series型とDataFrameの切り替え
- DataFrameに戻すには?
Series型をDataFrame型に変換する場合、以下の方法を使います。
# 'age'列をDataFrameとして取り出す
age_df = df[['age']]
print(type(age_df)) # <class 'pandas.core.frame.DataFrame'>
- 複数列を取り出す場合
DataFrame変数名に複数のカラム名をリストで指定します。
columns_df = df[['age', 'job', 'balance']]
print(columns_df.head())
行や列を操作する方法
- 特定の行を取り出す
loc
を使って操作します。
# 1行目を取り出す
print(df.loc[0])
- 複数行や複数列を同時に指定
# 1行目と2行目の'duration'と'job'列を取得
print(df.loc[[0, 1], ['duration', 'job']])
- 列を削除する方法
drop
関数を使い、axis=1
を指定することで列を削除できます。
# 'job'列を削除
df_without_job = df.drop('job', axis=1)
初心者が注意すべきポイント
- 型の確認を忘れない
- 操作中に「関数が使えない!」となったときは、
type()
で変数の型を確認しましょう。
- 操作中に「関数が使えない!」となったときは、
- インデックスに注意
- Pythonは0から数えますので、1行目と思っても実際には
loc[0]
となります。
- Pythonは0から数えますので、1行目と思っても実際には
- 列名や引数のタイプミス
- 特に引数の
"O"
(大文字のオー)と数字の0
を間違えないように注意。
- 特に引数の
まとめ
- Series型を活用することで、特定の列を操作したり、DataFrame型との違いを意識しながらデータ分析を進められます。
- 基本的な操作方法を理解したら、実際にデータを絞り込んだり、条件を付けて抽出することで、より深い分析ができるようになります。
コメント