簡體   English   中英

如何使用 python 數據表庫從值矩陣(列表列表)和特征列表創建數據表 dataframe

[英]How to create datatable dataframe from a matrix of values (list of lists) and a list of features, using python datatable lib

給定一個包含n 個特征的列表:

lf = ['f1','f2',...,'fn']

給定一個包含m個列表的列表,每個嵌套列表包含n 個值( m行和n列的矩陣):

matrix =  
[
[r0_v1, r0_v2, ..., r0_vn]  
[r1_v1, r1_v2, ..., r1_vn]  
.
.
.
[rm_v1, rm_v2, ..., rm_vn]  
]

使用python 數據表庫創建數據表數據農場的正確方法是什么?

我在以下源代碼中嘗試了類似於 pandas dataframe 的東西:

import pandas as pd
import datatable as dt

# pandas create dataframe
pd_df = pd.DataFrame(matrix,columns=lf) # work fine

# datatable create dataframe
dt_df = dt.Frame(matrix,names=lf) # get error, the rows are considered as columns

但是我收到一個錯誤 ValueError: names 參數包含 n 個元素,這比正在創建的列數 (m) 多
這意味着行被視為列。

謝謝你的幫助。

要從矩陣和特征列表創建數據表數據農場,請使用dt.Frame(matrix_values, names=list_features)
使用np.array從列表列表轉換為二維數組: matrix = np.array(matrix)

import datatable as dt
import numpy as np

lf = ['f1','f2','f3','f4','f5']

matrix = [
    [0,0,0,0,0],
    [1,1,1,1,1],
    [2,2,2,2,2],
]

matrix = np.array(matrix)

dt_df = dt.Frame(matrix,names=lf)

print(dt_df)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM