将元素从 pandas Series 复制到 python 内置数组的向量化方式

问题描述 投票:0回答:1

是否有一种矢量化方法将元素从 pandas Series 复制到 python 内置数组?例如:

from array import array
import pandas as pd
s = pd.Series(range(0, 10, 2)); s += 0.1
a = array('d', [0.0]*10)

# I am looking for a vectorized equivalent of the below line:
for n,x in enumerate(s): a[n] = x

在我的例子中,数组作为内存缓冲区提供给外部代码,它保存数组地址,并且仅在每次调用时重新读取数组值。因此,我无法重新创建数组,只需尽快替换其值。

非常感谢您的帮助!

python arrays pandas vectorization series
1个回答
0
投票

由于pandas Series可以直接转换为列表,因此可以直接传递数组。

from array import array
import pandas as pd
s = pd.Series(range(0, 10, 2)); s += 0.1
a = array('d', s.tolist())

或者简单地说:

a = array('d', s)

这两个代码都会使数组成为:

array('d', [0.1, 2.1, 4.1, 6.1, 8.1])
© www.soinside.com 2019 - 2024. All rights reserved.