[英]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.