'float'对象不是访问对象时的下标错误

问题描述 投票:0回答:1

我得到的足球比赛结果是dtype对象,格式为2:1(2:0,0:1)。我需要创建一个名为home_goals的新列,并插入结果的第一个数字。

df['HOME_GOALS'] = df["RESULT"].apply(lambda x: x[0])

此代码向我返回了一个错误的'float'对象,该对象无法下标。

感谢您的意见

pandas lambda apply
1个回答
0
投票

如果有字符串,您可以使用:

df['HOME_GOALS'] = df["RESULT"].str[0]

但如果需要更好的第一个数字,则使用:

df['HOME_GOALS'] = df["RESULT"].str.split(':').str[0]

或:

df['HOME_GOALS'] = df["RESULT"].str.extract('(\d+)')
© www.soinside.com 2019 - 2024. All rights reserved.