15章pandasデータの操作
NumPyの強みの1つが、基本的な算術演算(加算、減算、乗算など)と高度な演算(三角関数、指数関数、対数関数など)のどちらに対しても、要素ごとの演算を素早く実行できる点です。pandasはこの機能の多くをNumPyから継承しており、「6章 NumPy配列の計算:ユニバーサル関数」で紹介したufuncがその鍵となります。
pandasではさらに有用な工夫が追加されています。論理否定や三角関数などの単項演算の場合、ufuncはインデクスと列名をそのまま残します。加算や乗算などの二項演算では、ufuncに渡したオブジェクトは、インデクスが自動的に揃えられます。データ構造の維持や異なるソースのデータの組み合わせなど、生のNumPy配列では潜在的にエラーを起こすやすい作業は、基本的にpandasを使えば確実に実行できるようになります。さらに、1次元のSeries
と2次元のDataFrame
間の操作には、明確に定義された規則があることを後で説明します。
15.1 ufunc:インデクスの保存
pandasはNumPyと共に動作するように設計されているため、NumPyのufuncはpandasのSeries
およびDataFrame
オブジェクトに対しても動作します。簡単なSeries
とDataFrame
を使用して、この動作を確認しましょう。
In [1]: import pandas as pd import numpy as np In [2]: rng = np.random.default_rng(42) ser = pd.Series(rng.integers(0, 10, 4)) ser Out[2]: 0 0 1 7 2 6 3 4 dtype: int64 ...
Get Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.