我正在尝试了解如何使用python脚本将azure ml String Feature
数据类型转换为float。我的数据集包含“ HH:MM”数据时间格式。它像以下img一样被识别为String Feature
:
我想将其转换为float类型,该类型会将时间戳除以84600(24小时),因此17:30
将被转换为0,729166666666667
,因此我编写了python脚本将其转换。这是我的脚本:
import pandas as pd
import numpy as np
def timeToFloat(x):
frt = [3600,60]
data = str(x)
result = float(sum([a*b for a,b in zip(frt, map(int,data.split(':')))]))/86400
return result if isNotZero(x) else 0.0
def isNotZero(x):
return (x is "0")
def azureml_main(dataframe1 = None):
df = pd.DataFrame(dataframe1)
df["Departure Time"] = pd.to_numeric(df["Departure Time"]).apply(timeToFloat)
print(df["Departure Time"])
return df,
当我运行脚本时,它失败了。然后,我尝试检查它是否为str
,但返回None
。
我们可以将String Feature
视为String
吗?还是我应该如何正确隐瞒这些数据?
答案 0 :(得分:0)
to_numeric转换似乎是问题所在,因为没有从字符串到数字的默认解析。
如果仅使用pd.apply(timeToFloat)可以使用吗?
Roope-Microsoft Azure ML团队