我真的需要你的帮助。我一直在试图转换它并寻找文档,但我想我不知道我在找什么。我如何使用numpy将数组转换为数组数组
我输入的文件有这样的结构:
20010102,2301,0.95070,0.95070,0.95070,0.95070,4
20010102,2302,0.95060,0.95060,0.95050,0.95050,4
20010102,2303,0.95050,0.95070,0.95050,0.95060,4
20010102,2304,0.95060,0.95060,0.95060,0.95060,4
这里是我的代码:
import numpy as np
EU = np.loadtxt('data_s.csv', delimiter=',')
sample = EU[:5]
size = len(sample)
print (sample)
,它的输出是这样的:
[[ 2.00101020e+07 2.30100000e+03 9.50700000e-01 9.50700000e-01
9.50700000e-01 9.50700000e-01 4.00000000e+00]
[ 2.00101020e+07 2.30200000e+03 9.50600000e-01 9.50600000e-01
9.50500000e-01 9.50500000e-01 4.00000000e+00]
[ 2.00101020e+07 2.30300000e+03 9.50500000e-01 9.50700000e-01
9.50500000e-01 9.50600000e-01 4.00000000e+00]
[ 2.00101020e+07 2.30400000e+03 9.50600000e-01 9.50600000e-01
9.50600000e-01 9.50600000e-01 4.00000000e+00]
[ 2.00101020e+07 2.30500000e+03 9.50600000e-01 9.50600000e-01
9.50600000e-01 9.50600000e-01 4.00000000e+00]]
所以我试图重塑它(我相信这不是我应该做的):
sample = sample.reshape(size, 7)
print(sample)
和我的输出是完全一样的:
[[ 2.00101020e+07 2.30100000e+03 9.50700000e-01 9.50700000e-01
9.50700000e-01 9.50700000e-01 4.00000000e+00]
[ 2.00101020e+07 2.30200000e+03 9.50600000e-01 9.50600000e-01
9.50500000e-01 9.50500000e-01 4.00000000e+00]
[ 2.00101020e+07 2.30300000e+03 9.50500000e-01 9.50700000e-01
9.50500000e-01 9.50600000e-01 4.00000000e+00]
[ 2.00101020e+07 2.30400000e+03 9.50600000e-01 9.50600000e-01
9.50600000e-01 9.50600000e-01 4.00000000e+00]
[ 2.00101020e+07 2.30500000e+03 9.50600000e-01 9.50600000e-01
9.50600000e-01 9.50600000e-01 4.00000000e+00]]
我所寻找的是什么输出是这样的:
[[[2.00101020e+07], [2.30100000e+03], [9.50700000e-01], [9.50700000e-01],
[9.50700000e-01], [9.50700000e-01], [4.00000000e+00]],
...]
我也试过这样:
sample = EU[:5]
final = []
for line in sample:
va = []
for var in line:
var = np.array(var)
va.append(var)
final.append(va)
print(final)
输出功率为:
[[array(20010102.0), array(2301.0), array(0.9507), array(0.9507), array(0.9507), array(0.9507), array(4.0)], [array(20010102.0), array(2302.0), array(0.9506), array(0.9506), array(0.9505), array(0.9505), array(4.0)], [array(20010102.0), array(2303.0), array(0.9505), array(0.9507), array(0.9505), array(0.9506), array(4.0)], [array(20010102.0), array(2304.0), array(0.9506), array(0.9506), array(0.9506), array(0.9506), array(4.0)], [array(20010102.0), array(2305.0), array(0.9506), array(0.9506), array(0.9506), array(0.9506), array(4.0)]]
碰巧是一个列表,而不是一个数组。所以我试过这个:
final = np.array(final)
这让我回到了起点。
我在机器学习的项目,应该能够把这些输入并在此刻他们看起来都像每一行的工作是输入,没有像每个值是一个独立的变量。
也许我在想这个错。我尝试过使用熊猫,但是我意识到使用numpy并且经历痛苦必须弄清楚这一点,比让熊猫给我几千兆字节的数据更好。
这可能是愚蠢的,但请帮助我!我将非常感谢您的帮助!
'样本[...,无]'或'样本[...,np.newaxis]'我猜。 – Divakar
'sample'是(5,7)形状,对吗?看起来像你想要的(5,7,1)或者也许(35,1) – hpaulj
其实现在我尝试了(5,7,1),它对我来说效果很好。非常感谢你们! – Awah