Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将数据帧转换为橙色数据表_Python_Missing Data_Orange - Fatal编程技术网

Python 将数据帧转换为橙色数据表

Python 将数据帧转换为橙色数据表,python,missing-data,orange,Python,Missing Data,Orange,我正在使用pandas dataframe编写,我想将其转换为橙色数据表,以插补缺失的值。 我的数据框看起来像 locationId rank Rating type value 1 1 10 shop 2.668 2 4 8 store 3.921 3 3 NAN shop 3.122 其中,秩为序号,重复值介于1和5之间。类型为类别,类型为shop、store等,评级为整型。值为浮点

我正在使用pandas dataframe编写,我想将其转换为橙色数据表,以插补缺失的值。 我的数据框看起来像

locationId rank Rating type  value
1          1    10     shop   2.668
2          4    8      store  3.921
3          3    NAN    shop   3.122
其中,秩为序号,重复值介于1和5之间。类型为类别,类型为shop、store等,评级为整型。值为浮点。 我想把它转换成橙色的数据表,并插补缺失的值。 我也看过,但这些函数给了我一个错误,不适合我

import numpy as np
import pandas as pd
import Orange
import csv
from io import StringIO
from collections import OrderedDict
from Orange.data import Table, Domain, ContinuousVariable, DiscreteVariable


def pandas_to_orange(df):
    domain, attributes, metas = construct_domain(df)
    orange_table = Orange.data.Table.from_numpy(domain = domain, X = df[attributes].values, Y = None, metas = df[metas].values, W = None)
    return orange_table

def construct_domain(df):
    columns = OrderedDict(df.dtypes)
    attributes = OrderedDict()
    metas = OrderedDict()
    for name, dtype in columns.items():

        if issubclass(dtype.type, np.number):
            if len(df[name].unique()) >= 13 or issubclass(dtype.type, np.inexact) or (df[name].max() > len(df[name].unique())):
                attributes[name] = Orange.data.ContinuousVariable(name)
            else:
                df[name] = df[name].astype(str)
                attributes[name] = Orange.data.DiscreteVariable(name, values = sorted(df[name].unique().tolist()))
        else:
            metas[name] = Orange.data.StringVariable(name)

    domain = Orange.data.Domain(attributes = attributes.values(), metas = metas.values())

    return domain, list(attributes.keys()), list(metas.keys())
使用->熊猫到橙色(数据帧)