熊猫series.str.split抛出错误如果展开=假,尽管只有一次分裂
我有下面的数据框架
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:列必须与键的长度相同
问题代码:
# 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工作代码
# 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值没有影响?
发布于 2022-10-13 15:21:10
Pandas文档:
展开bool,默认为False
将拆分字符串展开为单独的列。
如果为真,则返回DataFrame/MultiIndex展开维度。
如果为False,则返回列/索引,其中包含字符串列表。
https://stackoverflow.com/questions/74057874
复制相似问题