【Python】Pandasデータフレームのサイズの確認と操作方法:効率的なデータ解析のコツ

Pandasは、Pythonのデータ解析ライブラリの中でも特に使われているライブラリの一つです。Pandasを使うことで、データフレームという表形式のデータを簡単に扱うことができます。しかし、大量のデータを扱う場合、データフレームのサイズを正確に把握することは重要です。Pandasには、データフレームの行数・列数・要素数を確認する方法や、データフレームのメモリ使用量を把握する方法があります。また、行や列の追加・削除によってデータフレームのサイズを変更することもできます。本記事では、Pandasデータフレームのサイズ確認・操作方法について解説します。

サイズの確認方法:shape, len, sizeを使ったデータフレームの行数・列数・要素数の確認方法

まずは、データフレームの行数・列数・要素数を確認する方法を紹介します。Pandasでは、データフレームの行数・列数・要素数を確認するために、shapelensizeという属性を使用します。

以下は、shapelensizeの使い方の例です。

import pandas as pd
# サンプルデータを作成
data = {'Name': ['John', 'Bob', 'Alice'], 'Age': [20, 30, 25], 'Gender': ['M', 'M', 'F']}
df = pd.DataFrame(data)
# shape属性を使って行数と列数を取得
print('行数と列数:', df.shape)
# len関数を使って行数を取得
print('行数:', len(df))
# size属性を使って要素数を取得
print('要素数:', df.size)

上記のコードを実行すると、以下のような結果が出力されます。

行数と列数: (3, 3)
行数: 3
要素数: 9

shape属性を使うことで、行数と列数を取得することができます。上記の例では、行数が3で列数が3であることが分かります。

len関数を使うことで、データフレームの行数を取得することができます。上記の例では、データフレームの行数が3であることが分かります。

size属性を使うことで、データフレームの要素数を取得することができます。上記の例では、データフレームの要素数が9であることが分かります。

データフレームのメモリ使用量の確認:info()やmemory_usage()を使ってメモリ使用量を把握する方法

次に、データフレームのメモリ使用量を確認する方法を紹介します。データフレームのメモリ使用量を把握することは、大量のデータを扱う場合には重要です。Pandasには、info()memory_usage()というメソッドを使って、データフレームのメモリ使用量を確認することができます。

以下は、info()memory_usage()の使い方の例です。

import pandas as pd
# サンプルデータを作成
data = {'Name': ['John', 'Bob', 'Alice'], 'Age': [20, 30, 25], 'Gender': ['M', 'M', 'F']}
df = pd.DataFrame(data)
# info()を使ってメモリ使用量を確認
print(df.info())
# memory_usage()を使ってメモリ使用量を確認
print('メモリ使用量(Byte):', df.memory_usage(deep=True).sum())

上記のコードを実行すると、以下のような結果が出力されます。

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 3 columns):
   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   Name    3 non-null      object
 1   Age     3 non-null      int64 
 2   Gender  3 non-null      object
dtypes: int64(1), object(2)
memory usage: 200.0+ bytes
None
メモリ使用量(Byte): 200

info()メソッドを使うことで、データフレームの情報を表示することができます。データフレームの行数、列数、各列の非null要素数、データ型、
メモリ使用量などが表示されます。上記の例では、データフレームの行数、列数、各列の非null要素数、データ型が表示され、メモリ使用量はmemory usageとして表示されています。

memory_usage()メソッドを使うことで、各列のメモリ使用量を取得することができます。また、memory_usage(deep=True).sum()を使うことで、データフレームの合計メモリ使用量を取得することができます。

行や列の追加・削除によるサイズの変更:データフレームに行や列を追加・削除する方法と注意点

次に、行や列の追加・削除によってデータフレームのサイズを変更する方法を紹介します。Pandasでは、locilocを使って行や列を操作することができます。

以下は、行や列の追加・削除によってデータフレームのサイズを変更する方法の例です。

import pandas as pd
# サンプルデータを作成
data = {'Name': ['John', 'Bob', 'Alice'], 'Age': [20, 30, 25], 'Gender': ['M', 'M', 'F']}
df = pd.DataFrame(data)
# 新しい列を追加する
df['Height'] = [180, 170, 160]
print('列を追加した後のデータフレーム:\n', df)
# 新しい行を追加する
new_row = {'Name': 'Tom', 'Age': 23, 'Gender': 'M', 'Height': 175}
df = df.append(new_row, ignore_index=True)
print('行を追加した後のデータフレーム:\n', df)
# 列を削除する
df = df.drop(columns=['Height'])
print('列を削除した後のデータフレーム:\n', df)
# 行を削除する
df = df.drop(index=3)
print('行を削除した後のデータフレーム:\n', df)

上記のコードを実行すると、以下のような結果が出力されます。

列を追加した後のデータフレーム:
     Name  Age Gender  Height
0   John   20      M     180
1    Bob   30      M     170
2  Alice   25      F     160
列を追加した後のデータフレーム:
     Name  Age Gender  Height
0   John   20      M     180
1    Bob   30      M     170
2  Alice   25      F     160
3    Tom   23      M     175
列を削除した後のデータフレーム:
   Name Age Gender
0  John 20       M
1   Bob 30       M
2 Alice 25       F
3   Tom 23       M
行を削除した後のデータフレーム:
   Name Age Gender
0  John 20       M
1   Bob 30       M
2 Alice 25       F

上記の例では、df['Height'] = [180, 170, 160]を使って、新しい列を追加しました。また、df.append(new_row, ignore_index=True)を使って、新しい行を追加しました。注意点として、新しい行を追加する場合はignore_index=Trueを指定する必要があります。

また、df.drop(columns=['Height'])を使って、列を削除しました。また、df.drop(index=3)を使って、行を削除しました。

データフレームのリサンプリング:データフレームを縮小・拡大するリサンプリング方法とその効果

最後に、データフレームをリサンプリングする方法について紹介します。データフレームをリサンプリングすることで、データフレームのサイズを縮小・拡大することができます。

以下は、データフレームをリサンプリングする方法の例です。

import pandas as pd
# サンプルデータを作成
data = {'Name': ['John', 'Bob', 'Alice', 'Tom'], 'Age': [20, 30, 25, 23], 'Gender': ['M', 'M', 'F', 'M']}
df = pd.DataFrame(data)
# リサンプリングしてデータフレームを縮小する
df_resampled = df.sample(frac=0.5)
print('縮小後のデータフレーム:\n', df_resampled)
# リサンプリングしてデータフレームを拡大する
df_resampled = pd.concat([df] * 2, ignore_index=True)
print('拡大後のデータフレーム:\n', df_resampled)

上記のコードを実行すると、以下のような結果が出力されます。

縮小後のデータフレーム:
     Name  Age Gender
1    Bob   30      M
0   John   20      M
拡大後のデータフレーム:
     Name  Age Gender
0   John   20      M
1    Bob   30      M
2  Alice   25      F
3    Tom   23      M
4   John   20      M
5    Bob   30      M
6  Alice   25      F
7    Tom   23      M

上記の例では、df.sample(frac=0.5)を使って、データフレームをランダムにサンプリングして、データフレームを縮小しました。また、pd.concat([df] * 2, ignore_index=True)を使って、データフレームを複製して、データフレームを拡大しました。

まとめ:Pandasデータフレームのサイズ確認・操作方法を理解し、効率的なデータ解析を実現するポイント

本記事では、Pandasデータフレームのサイズ確認・操作方法について紹介しました。以下は、本記事のまとめです。

  • データフレームのサイズを確認する方法として、shapelensizeを使うことができます。
  • データフレームのメモリ使用量を把握する方法として、info()memory_usage()を使うことができます。
  • データフレームの行や列を追加・削除する方法として、locilocを使うことができます。
  • データフレームをリサンプリングすることで、データフレームのサイズを縮小・拡大することができます。

以上のポイントを理解して、Pandasを使った効率的なデータ解析を実現しましょう。