技术总结

1.Numpy数组索引为None

None并不指代数组中的某一维,None用于改变数组的维度。例如data的shape为(3,3),则data[:,None]的shape是(3,1,3),data(:,:,None)的shape是(3,3,1)。容易看出None就是在指定位置添加一维,且这个维度的数目是1。这样数据总数并不会变化,只是数据维度发生变化。

2.copy.deepcopy()

首先直接上结论:

—–深复制,即将被复制对象完全再复制一遍作为独立的新个体单独存在。所以改变原有被复制对象不会对已经复制出来的新对象产生影响。 

—–而等于赋值,并不会产生一个独立的对象单独存在,他只是将原有的数据块打上一个新标签,所以当其中一个标签被改变的时候,数据块就会发生变化,另一个标签也会随之改变。

—–而浅复制要分两种情况进行讨论:

1)当浅复制的值是不可变对象(数值,字符串,元组)和“等于赋值”的情况一样,对象的id值与浅复制原来的值相同。

2)当浅复制的值是可变对象(列表和元组)时会产生一个“不是那么独立的对象”存在。有两种情况:

第一种情况:复制的 对象中无 复杂 子对象,原来值的改变并不会影响浅复制的值,同时浅复制的值改变也并不会影响原来的值。原来值的id值与浅复制原来的值不同。

第二种情况复制的对象中有 复杂 子对象 (例如列表中的一个子元素是一个列表),如果不改变其中复杂子对象浅复制的值改变并不会影响原来的值。 但是改变原来的值 中的复杂子对象的值  会影响浅复制的值

3.Python中axis的理解

4.median frequency balancing

以np.amax为例,axis=0表示沿着行去最大值,列方向的维度则保持不变;axis=1表示沿着列方向去最大值,行方向的维度保持不变。

4.Python标准库之glob

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章