今天是Pandas学习的第一天,学习的是预备知识,主要分为Python基础和NumPy基础。
Python基础
这一章 教程介绍的大多我都已经掌握了,就没有细看。
NumPy基础
看了教程后学到了一些新知识,如下:
-
合并操作:r_, c_(分别表示上下合并和左右合并)
-
np.ix_用法
练习
Ex1:利用列表推导式写矩阵乘法
这道题想了好久也没搞出来,最后还是看了答案才会了。
Ex2:更新矩阵
这道题的思路是这样的,A为3X3的矩阵,先对A的每一行求和再取倒数就得到一个shape为(3,)的行向量,对它进行reshape就得到3X1的矩阵,用A与这个矩阵点乘,由于广播机制,后面的矩阵会填充为3X3的矩阵,最后得到要求的结果。
Ex3:卡方统计量
A为一个8行5列的矩阵。
A.sum(0) shape为(5,)
A.sum(1).reshape(-1, 1) shape为 (8,1)
2者相乘再除以A.sum()得到B, 根据广播机制,B的现状为(8, 5)。
最后, (A-B)**2/B再求和得到最终结果。
Ex4:改进矩阵计算的性能
这道题有点难,没能想出来。
主要是不知如何对公式进行拆解。
Ex5:连续整数的最大长度
这道题是对几个numpy函数的应用,在数组头尾插入1挺巧妙的。