首页 > 解决方案 > 尝试向数据框列的值添加前缀时出现 ValueError

问题描述

我是python的初学者。如果它满足特定条件,我正在尝试向我的 pandas 列之一添加前缀,但我收到以下错误“ValueError:系列的真值不明确。使用 a.empty, a.bool(), a .item()、a.any() 或 a.all()。”

下面是我的代码

import pandas as pd
df = pd.DataFrame({'sk': [100, 234, 3333, 4569], 'lk': ['A', 'B', 'C', 'D']})

df['sk'] = df['sk'].astype(str)

length = df['sk'].apply(len)

    if length == 3:
        df['sk'] = 'CE0' + df['sk']
    else:
        df['sk'] = 'CE' + df['sk']
df

标签: pythonpandas

解决方案


将您的代码更改为:

df['sk'] = df['sk'].apply(lambda txt: ('CE0' if len(txt) == 3 else 'CE') + txt)

推荐阅读