空白の値の場合、連続した全角スペースで埋めるというCSVに遭遇したケースの対処法。
import pandas as pd
df = pd.DataFrame({
"name": [" 田中 太郎", "佐藤 次郎", "山田 三郎", " 徳田虎雄"]
})
# 正規表現を使って半角と全角のスペースを削除
df["name"] = df["name"].str.replace(r"\s+", "")
print(df)
# name
# 0 田中太郎
# 1 佐藤次郎
# 2 山田三郎
# 3 徳田虎雄
正規表現 “\s+” はスペース、タブ、改行などが該当し、+で1文字以上の繰り返しを指す。
strがreplaceメソッドの前に必要なのは、replaceメソッドがPythonの基本型(整数、浮動小数点、文字列など)に対して使うものだから。
strがない場合、今回のケースだとobject型の場合は基本形ではないのでエラーになる。よってstrが間に必要。