首页 > 解决方案 > 访问对象时,“浮动”对象不是可下标的错误

问题描述

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

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

此代码返回一个错误“浮动”对象不可下标。

谢谢你的建议

标签: pandaslambdaapply

解决方案


如果有字符串,您可以通过索引来查看第一个数字:

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

但是如果需要第一个可能有多个数字的数字,比如10:5需要不同的解决方案:

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

或者:

df['HOME_GOALS'] = df["RESULT"].str.extract('(\d+)')

推荐阅读