我试图创建一个函数英里到公里,但结果是浮动,并没有转换它。距离:是整数格式的数据行。
函数“miles_a_KM”接收参数miles,它是一个整数列。
def miles_to_KM(miles):
MIc = 1.609344
km = miles * MIc
return(pd.DataFrame({'km':km}).fillna(0))
问题。
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Input In [8], in <cell line: 1>()
----> 1 miles_to_KM('Distance')
Input In [7], in miles_to_KM(miles)
1 def miles_to_KM(miles):
2 MIc = 1.609344
----> 3 km = miles * MIc
4 return(pd.DataFrame({'km':km}).fillna(0))
TypeError: can't multiply sequence by non-int of type 'float'
尝试
return(pd.DataFrame({'km':km}).astype(float).fillna(0))
3条答案
按热度按时间4nkexdtk1#
看起来当您调用函数时,您的输入参数是字符串。不确定您是否只想将列中的1个值转换为英里,但是,要从 Dataframe 访问值,您可能需要尝试
miles_to_KM(dataframename.iloc[0]["Distance"]
该错误来自于尝试将字符串值乘以浮点数,这可能是使用整数(如
所以
mile_to_KM("Distance")
会输出Distance Distance
。希望这能让错误消息更有意义,因为使用浮点数乘字符串不会计算。2w3rbyxf2#
为什么不直接使用
pandas.Series.div
呢?#输出:
643ylb083#
解决问题的办法