python - 如何使用 python 数据表库从值矩阵(列表列表)和特征列表创建数据表数据框
问题描述
给定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 数据框的内容:
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: The names 参数包含 n 个元素,这超过了正在创建的列数 (m)
这意味着行被视为列。
谢谢你的帮助。
解决方案
要从矩阵和特征列表创建数据表数据农场,请使用dt.Frame(matrix_values, names=list_features)
Usenp.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)
推荐阅读
- django - 姜戈。外键
- powershell - Powershell 获取成员属性返回 Microsoft.ActiveDirectory.Management.ADPropertyValueCollection
- sql-server - 无法将值 NULL 插入列“id”、表“XXX”;列不允许空值
- javascript - 如何在 Nest.js 中正确使用工厂?
- sql - 在 Postgres 表中选择 id 模式
- sql - Oracle 中的嵌套循环无法正常工作(超过最大值)
- javascript - 使用 getBoundingClientRect 加载内容
- docker - 在 Docker 容器上的 Elasticsearch 中配置安全性
- amazon-web-services - Direct Connect - 网络网关用例
- python - 如何在databricks中读取由.gz压缩的镶木地板文件?