首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >熊猫series.str.split抛出错误如果展开=假,尽管只有一次分裂

熊猫series.str.split抛出错误如果展开=假,尽管只有一次分裂
EN

Stack Overflow用户
提问于 2022-10-13 14:54:23
回答 1查看 44关注 0票数 0

熊猫series.str.split抛出错误如果展开=假,尽管只有一次分裂

我有下面的数据框架

代码语言:javascript
运行
复制
data = ['Swifter = ALL', 'COM-Swifter Testing & Monitoring = ALL',
   'Poll-Audit = ALL', 'Customer Relationship Management = ARC',
   'Credit Policy = ALL', 'CP-Credit Officers = ALL',
   'COM-Regulatory Swifter = ALL', 'Wrapper-Technology Wrapper = ABLM',
   'COM-Wrapper Assessments = ALL',np.nan,np.nan,np.nan]

df = pd.DataFrame(data=data,columns=['BASE'])
df


        BASE
0   Swifter = ALL
1   COM-Swifter Testing & Monitoring = ALL
2   Poll-Audit = ALL
3   Customer Relationship Management = ARC
4   Credit Policy = ALL
5   CP-Credit Officers = ALL
6   COM-Regulatory Swifter = ALL
7   Wrapper-Technology Wrapper = ABLM
8   COM-Wrapper Assessments = ALL
9   NaN
10  NaN
11  NaN

我只想用‘=’作为分隔符将'BASE‘列拆分为2,但是无论单个分隔符是哪个,我都不得不给展开= True。使用= False,我不断地获得代码的前3个版本的值错误: ValueError:列必须与键的长度相同

问题代码:

代码语言:javascript
运行
复制
# 1
df[['BASE_TECH', 'BASE_TYPE']]= df['BASE'].str.split(' = ')

# 2
df[['BASE_TECH', 'BASE_TYPE']]= df['BASE'].str.split(' = ', n=1)

# 3
df[['BASE_TECH', 'BASE_TYPE']]= df['BASE'].str.split(' = ', n=2)


ValueError: Columns must be same length as key

工作代码

代码语言:javascript
运行
复制
# 4
df[['BASE_TECH', 'BASE_TYPE']]= df['BASE'].str.split(' = ', expand=True)

# 5
df[['BASE_TECH', 'BASE_TYPE']]= df['BASE'].str.split(' = ', n=1, expand=True)

# 6
df[['BASE_TECH', 'BASE_TYPE']]= df['BASE'].str.split(' = ', n=2, expand=True)

请澄清为什么展开= True在我不再分裂的时候工作得很好?,为什么n值没有影响?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-13 15:21:10

Pandas文档:

展开bool,默认为False

将拆分字符串展开为单独的列。

如果为真,则返回DataFrame/MultiIndex展开维度。

如果为False,则返回列/索引,其中包含字符串列表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74057874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档