使用Python脚本将'String Feature'数据框架转换为Azure ML中的Float

时间:2018-06-21 02:36:08

标签: python pandas csv azure-machine-learning-studio

我正在尝试了解如何使用python脚本将azure ml String Feature数据类型转换为float。我的数据集包含“ HH:MM”数据时间格式。它像以下img一样被识别为String Feature

enter image description here

enter image description here

我想将其转换为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吗?还是我应该如何正确隐瞒这些数据?

1 个答案:

答案 0 :(得分:0)

to_numeric转换似乎是问题所在,因为没有从字符串到数字的默认解析。

如果仅使用pd.apply(timeToFloat)可以使用吗?

Roope-Microsoft Azure ML团队