python - 尝试向数据框列的值添加前缀时出现 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
解决方案
将您的代码更改为:
df['sk'] = df['sk'].apply(lambda txt: ('CE0' if len(txt) == 3 else 'CE') + txt)
推荐阅读
- wordpress - Wordpress rest API 以获取多个类别的帖子
- excel - 将 Excel 连接到 ML.NET 的有效方法是什么?
- spring-boot - axios请求标头中未设置cookie
- spring-boot - 如何使用服务发现配置 kong api 网关?
- python - Spyder Python 3.7:启动内核时出错 -
- rapids - RAPIDS cuML 库是否支持广义线性模型 (GLM)?
- asp.net-mvc - 从 html 到 HtmlHelper 的 dropdownList 问题
- java - JPA Criteria - 从数组中选择枚举
- git - 是否有支持 git --word-diff 的 macOS git GUI?
- html - 如何在容器的底部中心放置一个 div