在给excel表格某一列做计算,里面的列不仅有数字,还有”分“,”Star“,不知道如何去掉”分“,”Star“来进行计算
df[['星级评分数']]=df[['星级评分数']].astype('int')
def f(x):
return x.split('分')[0]
return x.split('Star')[0]
df['星级评分数']=df['星级评分数'].map(f)
df
invalid literal for int() with base 10: '2 Star'
以上就是我的尝试
如何把类似”3“、”2分“、”5Star“进行计算
>>> a = ['3', '2分', '5Star']
>>> res = [i[0] for i in a ]
>>> res
['3', '2', '5']
>>> res = list(map(lambda x: x[0], a))
>>> res
['3', '2', '5']
>>> res = [int(i[0]) for i in a ]
>>> res
[3, 2, 5]
>>> sum(res)
10
>>> res = list(map(lambda x: int(x[0]), a))
>>> res
[3, 2, 5]
不知道是不是实现以上这样的结果,仅供参考