AttributeError: ‘float’ object has no attribute ‘split’

2024年6月17日

エラーが発生した理由は、DataFrameの"ITEM"列に欠損値(NaN)が含まれているためです。split()メソッドは文字列に対してのみ動作するため、欠損値に対しては適用できません。

欠損値を処理するために、split_item_by_space()関数内で欠損値を適切に処理する必要があります。以下はその方法です。

python
import pandas as pd
import numpy as np

# 仮のDataFrameを作成
data = {'ITEM': ['item1 item2', np.nan, 'item3 item4', 'item5 item6']}
df = pd.DataFrame(data)

# "ITEM"列を空白で分割する関数
def split_item_by_space(item):
    if isinstance(item, str):
        return item.split()
    else:
        return []

# "ITEM"列を空白で分割
df['ITEM'] = df['ITEM'].apply(split_item_by_space)

print(df)

このようにすることで、欠損値を適切に処理して、split()メソッドが正しく動作するようになります。

未分類

Posted by ぼっち