花了三天时间看了一下Numpy和Pandas,然后就
白给了
先放一下这周作业Github的链接:https://github.com/hachiri/ML_Seminar/tree/master/2019.9.28
先是一个简单的数据读取:
在线预览地址:https://nbviewer.jupyter.org/github/hachiri/ML_Seminar/blob/master/2019.9.28/data_reader.ipynb
难点在于
- 对不同文件调用不同函数
- 如何传参
解决方案
- 使用 eval() 从字符串激活函数
- 使用 **dict 进行传参
Google看一下教程基本上没啥问题
之后是一个手写数据包的读取:
在线预览地址:
https://nbviewer.jupyter.org/github/hachiri/ML_Seminar/blob/master/2019.9.28/read_Digits.ipynb
看起来挺简单的,没啥太复杂的东西。
这是我一开始的读入
def read_data(path):
CSV = pd.read_csv(path, header=None)
data = np.array(CSV).reshape(1, CSV.shape[0])
return list(''.join(data[0])), CSV.shape[0]
后来用 %%timeit 试了一下速度,嗯… 🐎 🐎 🐎 🐎 🐎 You Know
对 ndarray 的处理速度表示绝望
后面是想用预分配空间做的,因为数据量是已知的,原本是觉得更快的,然而…
最快的是这个版本:524ms, 我的是它的两倍 (当然把上面的读入改掉了)
在线预览地址:https://nbviewer.jupyter.org/github/hachiri/ML_Seminar/blob/master/2019.9.28/fast_read_digits.ipynb
OK,我完全没想到 list.append() 会这么快,比预先分配空间还快,如果有大佬能解释一下的话…
我觉得我到极限了,该回去吃💊了
转载:https://blog.csdn.net/weixin_43846537/article/details/102091520