22章文字列操作のベクトル化

文字列データの扱いが比較的容易である点も、Pythonの強みの1つです。pandasはこれを基に、包括的な文字列操作のベクトル化機能群を提供します。これは、実世界のデータを使いやすく変換(すなわち、クリーンアップ)するために必要不可欠で重要な要素です。この章では、まずpandasの文字列操作について説明します。続いて、インターネットから収集した整理されていない状態の料理レシピデータセットを、これらの機能を使用して部分的にクリーンアップする方法を紹介します。

22.1 pandas文字列操作の基礎

以前の章では、NumPyやpandasが算術演算を一般化して、配列要素それぞれに同じ操作を簡単かつ迅速に実行できることを説明しました。例で振り返りましょう。

In [1]: import numpy as np
        x = np.array([2, 3, 5, 7, 11, 13])
        x * 2
Out[1]: array([ 4,  6, 10, 14, 22, 26])

このベクトル化により、データ配列を操作する構文が単純化されました。もはや、配列のサイズや形状について気にする必要はなく、行いたい処理についてだけ意識すれば良いのです。しかし文字列の配列に対して、NumPyはこの単純な機能を提供しないため、冗長なループ構文を使用することになります。

In [2]: data = ['peter', 'Paul', 'MARY', 'gUIDO']
        [s.capitalize() for s in data]
Out[2]: ['Peter', 'Paul', 'Mary', 'Guido']

ある種のデータを処理するのには十分ですが、途中に欠損値があれば処理が中断されるため、特別な確認を行う必要があります。 ...

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.