是否有一种矢量化方法将元素从 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
在我的例子中,数组作为内存缓冲区提供给外部代码,它保存数组地址,并且仅在每次调用时重新读取数组值。因此,我无法重新创建数组,只需尽快替换其值。
非常感谢您的帮助!
由于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])