我在Python中拆分列表时遇到困难,如何解决?

2024-06-16 08:23:22 发布

您现在位置:Python中文网/ 问答频道 /正文

这是错误: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'

你知道怎么弄清楚吗?你知道吗


Tags: 数据对象name消息密码df属性错误
2条回答

df['Name']是包含['XPTO1-SS1'、'XPTO2-SS2'、'XPTO3-SS3']的列表,而不是字符串。您可能希望尝试遍历列表中的每个项。你知道吗

尝试: 对于df['Name']中的项: 数据框['Name1']=项目.rsplit('-',1)

您的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']

相关问题 更多 >