series为一维数组。并且series为一行n列,但是是一维,所以没有行的概念,只有列的概念。
array为二维数组。
实操中遇到的神奇操作有:
import Numpy as np
import pandas as pd
def get_index(source, target): #参数nodeid,BgnNodeID,均series
i = pd.DataFrame(np.vstack ((source, np.arange(len(source)))).T, columns=['id', 'index'])
m = pd.DataFrame(np.array(target), columns=['id']).merge(i, how='left ')
return np.array(m['index'])
其中,source作为series,np.arrange(len(source))作为array可直接用np.vstack进行合并。
np.vstack((元祖))函数表示竖直方向合并数组,即有相同的列数,行数相加。
def get_diag_x(x):
x=np.diag(-1 / x)
x=x.astype(np.float)
return x
其中x作为series一维数组,可直接用np.diag()。
np.diag()函数表示:array是一个1维数组时,结果形成一个以一维数组为对角线元素的矩阵,array是一个多维矩阵时,结果输出矩阵的对角线元素。