Datawhale开源学习内容的链接:https://datawhalechina.github.io/joyful-pandas/build/html/%E7%9B%AE%E5%BD%95/ch1.html
本次笔记是针对自己的情况,记录一些自己之前不会或不熟悉的内容,以及一些有启发的内容。
共分为两个板块,第一个板块是,纯粹的知识内容;第二个板块是练习题,记录自己的思路与习题答案。
一、知识整理
1、map函数的用法
map函数的原型是map(function, iterable, …),它的返回结果是一个列表。
参数function传的是一个函数名,可以是python内置的,也可以是自定义的。
参数iterable传的是一个可以迭代的对象,例如列表,元组,字符串这样的。
这个函数的意思就是将function应用于iterable的每一个元素,结果以列表的形式返回。iterable后面还有省略号,意思就是可以传很多个iterable,如果有额外的iterable参数,并行的从这些参数中取元素,并调用function。如果一个iterable参数比另外的iterable参数要短,将以None扩展该参数元素。还是看例子来理解吧!
2、列表推导式
可以把for循环的式子写得很简易,并且效率也会更高。
3、随机矩阵的应用
【这块之前自己没有这样理解,需在复习下概率,然后看看代码与数学的联系】
对于服从区间a到b上的均匀分布可以如下生成:
a, b = 5, 15
(b-a) * np.random.rand(3) + a
输出:array([11.89843468, 12.39037732, 12.97019338])
randn生成了 N ( 0 , I ) N(0,I) N(0,I)的标准正态分布:
np.random.randn(3)
输出: array([-0.25552709, 2.2353 , -0.36139888])
np.random.randn(2,2)
输出:array([[-2.19975086, -0.88199378],
[ 1.04841871, 0.3310393 ]])
对于服从方差 σ 2 \sigma^{2} σ2,均值为 μ \mu μ的一元正太分布可以如下生成:
sigma, mu = 2.5, 3
mu + np.random.randn(3) * sigma
输出:array([ 2.17315548, 0.72791185, -1.5962757 ])
4、分位数
参考连接:https://www.zhihu.com/question/67763556
二、练习
1、利用列表推导式写矩阵乘法
(先忽略给出的代码,首先用循环写出矩阵乘法,再转换为列表推导式)
思考步骤:
1、首先想一下矩阵乘法的方式。(两个矩阵的哪些元素相乘?)
2、思考一下有哪些循环,几层循环。(首先第一个矩阵是每次取一行的元素,所以要记录第一个矩阵的行数;然后第二个矩阵是每次取一列的元素,所以我们要记录第二个矩阵的列数