这是错误:Python' list'中的错误消息对象没有属性' str'
我正在尝试拆分数据。这是我的代码:
df = {'Name':['XPTO1 - SS1','XPTO2 - SS2','XPTO3 - SS3','ID':['276','323','2045']}
当我尝试使用" - "分割第一列时分离器
df['Name1'], df['Name2'] = df['Name'].str.rsplit('-', 1).str
我收到以下错误消息:
'list' object has no attribute 'str'
知道如何解决这个问题吗?
答案 0 :(得分:0)
df['Name']
上的回复是Name
标记下的列表。
['XPTO1 - SS1','XPTO2 - SS2','XPTO3 - SS3']
您只想访问以下元素:
df['Name'][0]
是
XPTO1 - SS1
然后,您可以将其拆分为:
df['Name1'], df['Name2'] = df['Name'][0].split(' - ')
给出:
df['Name1'] = 'XPTO1'
df['Name2'] = 'SS1
如果您需要短划线左侧和短划线右侧所有项目的列表,您可以在以下位置执行此操作:
df['Name1'] = [item.split(' - ')[0] for item in df['Name']]
df['Name2'] = [item.split(' - ')[1] for item in df['Name']]
给出:
['XPTO1', 'XPTO2', 'XPTO3']
['SS1', 'SS2', 'SS3']
答案 1 :(得分:0)
df ['姓名']是一个包含[' XPTO1 - SS1',' XPTO2 - SS2',' XPTO3 - SS3'的列表;],而不是字符串。您可能想尝试遍历列表中的每个项目。
尝试: 对于df ['名称']中的项目: df [' Name1'] = item.rsplit(' - ',1)