将这些数据帧字符串字段转换为整数并返回的最简单方法是什么?

时间:2017-04-16 16:37:14

标签: python apache-spark pyspark

我正在使用Spark ALS算法来提出建议,它要求用户和产品字段为整数。我将这些数据作为带有字符串的CSV引入这些字段。在从算法中为每个用户生成输出后,将这些转换为整数然后再返回的最简单方法是什么。输出格式为:

[评级(用户= 16,产品= 7,评级= 0.9847078722254077),评级(用户= 16,产品= 19,评级= 0.9756248870987353)]

2 个答案:

答案 0 :(得分:0)

由于我们不知道数据的格式,我们假设您可以一次转换一个数字,例如k是您的数字字符串。

>>> k = '15'
>>> type (k)
<type 'str'>
>>> j = int(k)
>>> type (j)
<type 'int'>
>>> z = str(j)
>>> type(z)
<type 'str'>
>>> (k,j,z)
('15', 15, '15')

答案 1 :(得分:0)

最简单的方法是让pandas读取csv文件;它会自动将数字字段转换为数字。由于您不必做任何事情,除非您想覆盖某些列的默认类型,否则很难被击败。

df = pd.DataFrame.from_csv("products.csv")

您也可以使用df.to_csv()来记录您的数据,从而撤消此过程。