【发布时间】:2019-09-22 04:07:29
【问题描述】:
我想读取 csv 文件中的数据并做一些格式。但是在将数据重新格式化为 numpy 数组后,我忘记了如何删除“ ' ' ”。我已经看到有一个技巧可以在之前的一行中使用eval()。但是现在找不到了。
我的 csv 文件数据如下:
6,1 2 3 4 5 6 ... 2300 2301 2302 2303 2304\n
...
1,1 2 3 4 5 6 ... 2300 2301 2302 2303 2304\n
from load_data import load
import numpy as np
import matplotlib.pyplot as plt
with open('fer2013.csv') as f:
f.readline()
line = f.readline()
line = line.replace("\n","")
line = line.split(",")
X = np.array(line[1].split(" "))
X.reshape((48,48))
print(X)
输出是:
[['70' '80' '82' ... '52' '43' '41']
['65' '61' '58' ... '56' '52' '44']
['50' '43' '54' ... '49' '56' '47']
...
['91' '65' '42' ... '72' '56' '43']
['77' '82' '79' ... '105' '70' '46']
['77' '72' '84' ... '106' '109' '82']]
但我想要的是:
[[70 80 82 ... 52 43 41]
...
[77 72 84 ... 106 109 82]]
我见过一些类似这种格式的技巧(但实际上不是这样):
X = np.array(for I in eval(line[1].split(" ")))
【问题讨论】:
-
我还远远没有解决我的问题。我只想使用基本的python操作。