python - 读取熊猫数据框中的 np 数组
问题描述
我有一组数据,如下所示:
12 , 12 , 12 , 12 #Data 1
16 , 16 , 16 , 16 #Data 2
3 , 3 , 3 , 3 #Data 3
3 , 3 , 3 , 3 ..
2 , 2 , 2 , 2 ..
9 , 9 , 9 , 9 ..
15 , 15 , 15 , 15 ..
并且数据是逐行的,如图所示。
现在,我需要在pandas
. 问题是,以我有限的知识,熊猫读取数据列,而不是行。
所以,(以及其他一些原因),我读入数据numpy
并尝试将 numpy 数组读入 pandas,如下所示:
#!/usr/bin/env python3
import numpy as np
import pandas
names = ["A", "B", "C", "D", "E", "F", "G"]
data = np.genfromtxt("trial.dat", delimiter=',')
print(type(data))
print(data)
dataset = pandas.DataFrame(data=data, columns=names)
这是给:
python3 mwe.py
<class 'numpy.ndarray'>
[[12. 12. 12. 12.]
[16. 16. 16. 16.]
[ 3. 3. 3. 3.]
[ 3. 3. 3. 3.]
[ 2. 2. 2. 2.]
[ 9. 9. 9. 9.]
[15. 15. 15. 15.]]
ValueError: Wrong number of items passed 4, placement implies 7
ValueError: Shape of passed values is (7, 4), indices imply (7, 7)
不匹配基本上来自名称维度,与
names = ["A", "B", "C", "D"]
和打印(数据集)
我正进入(状态:
class 'numpy.ndarray'>
[[12. 12. 12. 12.]
[16. 16. 16. 16.]
[ 3. 3. 3. 3.]
[ 3. 3. 3. 3.]
[ 2. 2. 2. 2.]
[ 9. 9. 9. 9.]
[15. 15. 15. 15.]]
A B C D
0 12.0 12.0 12.0 12.0
1 16.0 16.0 16.0 16.0
2 3.0 3.0 3.0 3.0
3 3.0 3.0 3.0 3.0
4 2.0 2.0 2.0 2.0
5 9.0 9.0 9.0 9.0
6 15.0 15.0 15.0 15.0
但在 Pandas 数据集中,我想要:
A B
12 16
12 16
12 16
12 16
等,即沿着and-array的行。
那么,我如何将 np-ndarray 读取到 pandas 中呢?
解决方案
转置 np_array
dataset = pandas.DataFrame(data=data.T, columns=names)
推荐阅读
- java - 如何找到多年的复活节日期而不仅仅是一个?
- go - 如何使用 golang libp2p 流向多个主机发送数据?
- visual-studio-code - VsCode - 在文件创建时触发片段
- ios - 导航堆栈中的 ViewController 在弹出时不会取消初始化,导致内存泄漏
- python-3.x - 如何使用 Python 生成展示所有可能性的图表
- ubuntu-16.04 - 多主复制 - 如何在连接期间修复不正确的凭据问题(ldap_sasl_bind_s failed (49))
- python - 在 webhook 响应中以美元而不是美分显示 object.amount
- docker - Minidcos:无法使用主机名在 docker 容器之间进行通信
- multithreading - 锁定互斥体的 pthread_rwlock_destroy
- java - 如何使用 Scala 在 DateTimeFormatter 中传递多种日期格式