PythonとPandasを使って、データフレームから特定の文字列を抽出する方法について説明します。この記事では、左から特定の文字数を抽出するスライス表記と、特定のパターンに一致する文字列を抽出する方法を中心に解説します。
文字列のスライス表記
Pythonのスライス表記は、文字列やリストなどから特定の範囲の要素を抽出するための記法です。Pandasでも同じ感覚で扱うことが可能です。
import pandas as pd
# サンプルデータの作成
sr = pd.Series(['a123a21','b242b33','c122c222'])
# 先頭の文字を切り出す
print(sr.str[0]) # Output: 0 a 1 b 2 c dtype: object
# 0,1,2,3番目の文字
print(sr.str[3]) # Output: 0 3 1 2 2 2 dtype: object
# -1だと最後の文字
print(sr.str[-1]) # Output: 0 1 1 3 2 2 dtype: object
文字列の抽出
Pandasのstr.extract
関数を使って、特定のパターンに一致する文字列を抽出することができます。
# 'a'と'1'があったら抽出
print(sr.str.extract('(a)(1)')) # Output: 0 1 0 a 1 1 NaN NaN 2 NaN NaN
# (アルファベット)(数字3桁)を抜き出す
print(sr.str.extract('([a-z])([0-9]{3})')) # Output: 0 1 0 a 123 1 b 242 2 c 122
- 以上のように、PythonとPandasを使ってデータフレームから特定の文字列を抽出する方法は非常に直感的で、データ分析の現場で頻繁に利用されます。この記事が皆さんのデータ分析作業の一助となれば幸いです。