填写一个numpy数组而不创建列表 - python

我想创建一个numpy数组而不先创建列表。
目前,我已经知道了:

import pandas as pd
import numpy as np 

dfa = pd.read_csv('csva.csv')
dfb = pd.read_csv('csvb.csv')

pa = np.array(dfa['location'])
pb = np.array(dfb['location'])

ra = [(pa[i+1] - pa[i]) / float(pa[i]) for i in range(9999)]
rb = [(pb[i+1] - pb[i]) / float(pb[i]) for i in range(9999)]

ra = np.array(ra)
rb = np.array(rb)

有没有一种优雅的方法可以一步完成此np数组的最后一次填充而无需先创建列表?

谢谢

python大神给出的解决方案

您可以使用numpy中的向量进行计算,而无需列表:

ra = (pa[1:] - pa[:-1]) / pa[:-1]
rb = (pb[1:] - pb[:-1]) / pb[:-1]