どうもニコイチです。前回記事ではデータを確認しました。この記事では、Pythonを使ったデータ分析を始めたばかりの方に向けて、変数のデータ型やデータ量の確認方法について、実際のデータを使いながら分かりやすく解説します。初心者の方がつまずきやすいポイントも意識して、ステップごとに説明していきます。
全編はこちらから
1. 変数のデータ型を理解しよう
まずは、変数のデータ型について説明します。プログラミングで「変数」という言葉を聞くと、数値や文字など、何かの値が入った箱のようなイメージを持つかもしれません。その箱には「データ型」があり、入れることができるデータの種類が決まっています。
代表的なデータ型
- 数値
int型
: 整数(例: 1, 100, -3)float型
: 小数(例: 3.14, -0.5)bool型
: 真偽値(例: True, False)
- 文字列
str型
: 文字列(例: “こんにちは”, “123”)
実は、Pythonではデータ型を明示的に指定する必要はありません。変数に代入された値をもとに、Pythonが自動でデータ型を決めます。しかし、データ型を意識することはとても大切です。たとえば、視覚的には数値のように見えるデータでも、実際には文字列として扱われていることがあります。
よくあるつまずきポイント
「数値を使いたいと思っていたのに、文字列として読み込まれている!」というトラブルがよくあります。これに気づかずに数値計算をしようとすると、エラーが発生したり、予想外の結果になったりします。
例えば、宿泊価格データを扱っている場合、価格が数値であるべきなのに、実は文字列として読み込まれていることがあります。この場合、意図した計算ができないので、データ型を確認する習慣をつけましょう。
2. データ型を確認する方法
データフレーム(表形式のデータ)を操作するとき、まずデータ型が正しいかを確認することが重要です。pandasを使ってデータを読み込んだ場合、info()
という関数を使って、各カラムのデータ型を簡単に確認できます。
実際にやってみよう
まず、宿泊価格について_demo.csv
というCSVファイルをpandasで読み込んでみましょう。
import pandas as pd
# データの読み込み
data = pd.read_csv("宿泊価格について_demo.csv")
# データ型を確認
print(data.info())
これで、各カラム(列)のデータ型を確認できます。たとえば、以下のような出力が得られるかもしれません。
RangeIndex: 100 entries, 0 to 99
Data columns (total 5 columns):
価格 100 non-null object
部屋タイプ 100 non-null object
日付 100 non-null object
人数 100 non-null int64
...
dtypes: object(3), int64(1)
この場合、「価格」や「部屋タイプ」などがobject
(文字列型)になっているかもしれませんが、本来数値型(例えば、float
型)として扱いたいこともあります。その場合は、後で変換が必要になります。
3. データ量を確認しよう
次に、データ量を確認する方法を紹介します。データ分析を始めたばかりの方は、「データが正しく読み込まれているか」をチェックする習慣を持ちましょう。これを怠ると、分析結果に間違いが生じる原因になります。
データ量の確認
データがどれだけあるのかを確認するには、shape
属性を使います。この属性は、データフレームの「行数」と「列数」を返してくれます。
# データの形を確認
print(data.shape)
このコードを実行すると、次のような出力が得られます。
(100, 5)
これは、「100件のデータ(行)があり、5つの項目(列)がある」ことを意味します。
行数と列数を個別に確認
行数や列数を個別に確認することもできます。
# 行数だけを確認
print(f"データの行数: {data.shape[0]}件")
# 列数だけを確認
print(f"項目の数: {data.shape[1]}個")
4. データ読み込み後のトラブルシューティング
データ量が予想と異なる場合、いくつかの原因が考えられます。例えば、ファイルが途中で切れている、読み込み時のエンコーディング設定が間違っている、カンマや区切り文字に問題があるなどです。
予想より行数が少ない場合
- CSVファイルが途中で切れていないか確認
- エンコーディングの指定を確認
例えば、以下のようにエンコーディングを指定して再読み込みを試みましょう。
data = pd.read_csv("宿泊価格について_demo.csv", encoding='utf-8')
予想より列数が少ない場合
- カンマが正しく使われているか確認
- 列名に余分な空白が入っていないか確認
# 列名を確認
print(data.columns.tolist())
5. 実践:データ量の確認
実際に「宿泊価格について_demo.csv」を使って、データ量を確認してみましょう。
import pandas as pd
# データ読み込み
hotel_data = pd.read_csv("宿泊価格について_demo.csv")
# 基本的なデータ量確認
print(f"全データ数: {hotel_data.shape[0]}件")
print(f"項目数: {hotel_data.shape[1]}個")
# より詳細な情報確認
print("\nデータの詳細情報:")
print(hotel_data.info())
まとめ
- データ型を理解し、確認することで、予期しないエラーを防ぐことができる。
shape
を使ってデータの行数・列数を簡単に確認できる。- データの読み込み後、必ずデータ量を確認する習慣をつけよう。
次回は、データの中身を詳しく確認する方法について解説します。データの型や欠損値の確認方法を学び、さらにデータ分析を深めていきましょう!
練習問題
- 自分の持っているCSVファイルで
shape
を使ってみよう。 - データの行数だけを取り出して、予想と合っているか確認してみよう。
不明点があれば、コメント欄でお気軽に質問してください!
コメント