克隆策略

Numpy使用介绍1

In [ ]:
import numpy as np

ndarray数组

In [ ]:
'创建array对象'
a = np.array([[1,2,4.0],[3,6,9]])
a
In [ ]:
'查看数组的维数,返回(n,m), 其中 n 为行数,m 为列数。'
a.shape
In [ ]:
'查看元素的类型,比如 numpy.int32、numpy.float64'
a.dtype

特殊的数组

  • zeros数组:全零数组,元素全为0;
  • ones数组:全1数组,元素全为1;
  • empty数组:空数组,元素全近似为0;
In [ ]:
np.zeros((2,3))
In [ ]:
np.ones((3,5))

序列数组

  • 线性规律数组的生成
In [ ]:
np.arange(1,5)
In [ ]:
np.arange(1,20,5)
In [ ]:
np.linspace(0,2,9)

数组的引用

  • 定义二维数组
  • 获取二维数组的行
  • 获取二维数组的列
  • 获取二维数组的某个元素
In [ ]:
a = np.array([[1,2,4.0],[3,6,9]])
a
In [ ]:
'''取 a 的第一行元素'''
a[0,:]
In [ ]:
'''取 a 的第二列元素'''
a[:,1]
In [ ]:
'''取 a 的第一行的第三个元素'''
a[0,2]

数组运算

  • 两个数组元素的加减乘除
  • 数据元素的平方
  • 数组元素的布尔运算
  • 筛选符合条件的元素
  • 数组的最大值、最小值、平均值、求和等操作
In [ ]:
a = np.array([1,2,3])
b = np.array([4.,5,6])
In [ ]:
'''加法运算: 对应元素相加、减、乘、除'''
print(a + b, a - b, a * b, a/b)
In [ ]:
'''乘方运算:元素的平方'''
print(a ** 2)
In [ ]:
'''判断大小,返回 bool 值'''
a >= 2
In [ ]:
'''筛选符合条件的元素'''
a[a >= 2]
In [ ]:
'''a中最大的元素、最小元素、元素总和'''
print(a.max(),a.min(),a.sum())

数组拷贝

  • 数组的浅拷贝
  • 数组的深拷贝copy
In [ ]:
a = np.ones((2,3))
a
In [ ]:
'''b 为 a 的浅拷贝(直接赋值)'''
b = a

'''对 b 进行修改,a 也会被修改'''
b[1,2] = 9
a
In [ ]:
'''b 为 a 的深拷贝'''
a = np.ones((2,3))
b = a.copy()
b[1,2] = 9
b
In [ ]:
'''a 的值没有改变'''
a

矩阵

  • 矩阵按行定义matrix
  • 矩阵的转置、求逆
  • 两个矩阵相乘 VS 两个矩阵对应元素相乘
In [ ]:
A = np.matrix([[1.0,2.0],[3.0,4.0]])
A
In [ ]:
'''查看A的类型'''
type(A)
In [ ]:
'''转置'''
A.T
In [ ]:
'''逆矩阵'''
A.I
In [ ]:
B = np.matrix([[3.0, 4.0],[5.0, 6.0]])
B
In [ ]:
'''矩阵乘法'''
np.dot(A,B) # 或 A * B
In [ ]:
'''矩阵对应元素相乘'''
np.multiply(A,B)
In [3]:
D.features(instruments=['000001.SZA','600010.SHA'],start_date='2021-01-01',fields=['fs_current_liabilities_0'] )
Out[3]:
date instrument fs_current_liabilities_0
0 2021-01-04 000001.SZA NaN
1 2021-01-05 000001.SZA NaN
2 2021-01-06 000001.SZA NaN
3 2021-01-07 000001.SZA NaN
4 2021-01-08 000001.SZA NaN
... ... ... ...
371 2021-10-11 600010.SHA 6.451888e+10
372 2021-10-12 600010.SHA 6.451888e+10
373 2021-10-13 600010.SHA 6.451888e+10
374 2021-10-14 600010.SHA 6.451888e+10
375 2021-10-15 600010.SHA 6.451888e+10

376 rows × 3 columns