python-3.x - 将数据框转换为矩阵形式
问题描述
我有一个数据集如下所示:
state VDM MDM OM
AP 1 2 5
GOA 1 2 1
GU 1 2 4
KA 1 5 1
MA 1 4 4
我试过这段代码:
aMat=df1000.as_matrix()
print(aMat)
这里 df1000 是数据集。
但是上面的代码给出了这个输出:
[['AP' 1 2 5]
['GOA' 1 2 1]
['GU' 1 2 4]
['KA' 1 5 1]
['MA' 1 4 4]]
我想创建一个如下所示的二维列表或矩阵:
[[1, 2, 5], [1, 2, 1], [1, 2, 4], [1, 5, 1], [1, 4, 4]]
解决方案
您可以使用df.iloc[]
:
df.iloc[:,1:].to_numpy()
array([[1, 2, 5],
[1, 2, 1],
[1, 2, 4],
[1, 5, 1],
[1, 4, 4]], dtype=int64)
或者对于字符串矩阵:
df.astype(str).iloc[:,1:].to_numpy()
array([['1', '2', '5'],
['1', '2', '1'],
['1', '2', '4'],
['1', '5', '1'],
['1', '4', '4']], dtype=object)
注意为什么我们不使用as_matrix()
“.as_matrix 将在未来版本中删除。改用 .values。”
推荐阅读
- node.js - 异步等待不适用于回调节点(没有承诺)
- javascript - 如何使用 Vue 立即显示元素,例如加载指示器?nextTick 没有按我的预期工作
- shibboleth - 无法获取 Shibboleth IDP 登录页面
- python-3.x - 以另一列中的值为条件从一列运行总和
- perl - 为什么在没有粗逗号和严格的“use”行上允许使用前导连字符选项?
- ios - 设置 NSStreams 的正确方法?
- c++ - 使用智能指针作为 Qt 标准函数的参数
- python - Geoplot 不会绘制 geopandas 对象
- java - MongoDB 上的 QueryDSL 和操作
- python - 数据框长迭代