Pandasは、Pythonのデータ解析ライブラリの中でも特に使われているライブラリの一つです。Pandasを使うことで、データフレームという表形式のデータを簡単に扱うことができます。しかし、大量のデータを扱う場合、データフレームのサイズを正確に把握することは重要です。Pandasには、データフレームの行数・列数・要素数を確認する方法や、データフレームのメモリ使用量を把握する方法があります。また、行や列の追加・削除によってデータフレームのサイズを変更することもできます。本記事では、Pandasデータフレームのサイズ確認・操作方法について解説します。
サイズの確認方法:shape, len, sizeを使ったデータフレームの行数・列数・要素数の確認方法
まずは、データフレームの行数・列数・要素数を確認する方法を紹介します。Pandasでは、データフレームの行数・列数・要素数を確認するために、shape
、len
、size
という属性を使用します。
以下は、shape
、len
、size
の使い方の例です。
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では、loc
やiloc
を使って行や列を操作することができます。
以下は、行や列の追加・削除によってデータフレームのサイズを変更する方法の例です。
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データフレームのサイズ確認・操作方法について紹介しました。以下は、本記事のまとめです。
- データフレームのサイズを確認する方法として、
shape
、len
、size
を使うことができます。 - データフレームのメモリ使用量を把握する方法として、
info()
やmemory_usage()
を使うことができます。 - データフレームの行や列を追加・削除する方法として、
loc
やiloc
を使うことができます。 - データフレームをリサンプリングすることで、データフレームのサイズを縮小・拡大することができます。
以上のポイントを理解して、Pandasを使った効率的なデータ解析を実現しましょう。