Python 根据数组中的值的索引选择系列中的值

Python 根据数组中的值的索引选择系列中的值,python,pandas,numpy,Python,Pandas,Numpy,比如说我有一个像 mySeries = pd.Series(range(1, 100, 1)) myArray = np.array([[3, 10],[6, 9]]) 如何使用myArray中的值作为索引来选择mySeries 我希望得到的数组是np.array[[4,11],[7,10]] 例如,myArray中的1,1元素是3,因此我希望结果数组中的1,1元素是mySeries中的第三个元素,即4。这是我的解决方案,首先将2dim数组展平为1dim,然后恢复原始形状 作为pd进口熊猫 将

比如说我有一个像

mySeries = pd.Series(range(1, 100, 1))
myArray = np.array([[3, 10],[6, 9]])
如何使用myArray中的值作为索引来选择mySeries

我希望得到的数组是np.array[[4,11],[7,10]]


例如,myArray中的1,1元素是3,因此我希望结果数组中的1,1元素是mySeries中的第三个元素,即4。

这是我的解决方案,首先将2dim数组展平为1dim,然后恢复原始形状

作为pd进口熊猫 将numpy作为np导入 mySeries=pd.SeriesRange100,1 myArray=np.array[[3,10],[6,9]] flatArray=np.asarraymySeries[myArray.ravel] resultArray=flatArray.ReformamyArray.shape 输出结果 打印结果射线 哪些产出:

[[ 4 11] [ 7 10]]
这是我的解决方案,首先将2dim阵列展平为1dim,然后恢复原始形状

作为pd进口熊猫 将numpy作为np导入 mySeries=pd.SeriesRange100,1 myArray=np.array[[3,10],[6,9]] flatArray=np.asarraymySeries[myArray.ravel] resultArray=flatArray.ReformamyArray.shape 输出结果 打印结果射线 哪些产出:

[[ 4 11] [ 7 10]]
这里有一个我认为稍微干净一点的替代方法:

>>>newArray=mySeries[myArray.flatte].values >>>newArray.shape=myArray.shape >>>新阵列 数组[[4,11], [7,10]],dtype=int64
这里有一个我认为稍微干净一点的替代方法:

>>>newArray=mySeries[myArray.flatte].values >>>newArray.shape=myArray.shape >>>新阵列 数组[[4,11], [7,10]],dtype=int64 这很复杂。您的np数组是一个二维数组,而该系列的设计是一个一维数组。不过,在某些条件下,使用数据帧是可能的。这很复杂。您的np数组是一个二维数组,而该系列的设计是一个一维数组。不过,在某些条件下,使用数据帧是可能的。
resultArray = np.empty(shape=len(myArray), dtype=np.ndarray)
for i in range(len(myArray)):
    row = np.empty(shape=len(myArray[i]))
    for k in range(len(myArray[i])):
        v = mySeries[myArray[i,k]]
        row[k] = v
    resultArray[i] = row