将pandas.Series列表转换为numpy数组时遇到问题

11 投票
1 回答
36108 浏览
提问于 2025-04-17 21:35

我想把一组 pandas.Series 转换成一个包含 pandas.Series 的 numpy 数组。但是当我调用数组构造函数的时候,它也把我的 Series 转换了。

>>> l = [Series([1,2,3]),Series([4,5,6])]
>>> np.array(l)
array([[1, 2, 3],
       [4, 5, 6]], dtype=int64)

我的列表很小(大约 10 个元素),所以为了避免 性能问题,我想避免创建一个 pandas.DataFrame。有没有简单的解决办法?

提前谢谢你!

1 个回答

7

你在给数组赋值的时候,应该设置它的 dtype(数据类型):

l = [pd.Series([1,2,3]),pd.Series([4,5,6])]
np.array(l, dtype=pd.Series)

不过,这就引出了一个问题:你为什么想要一个包含系列的ndarray,而不是一个包含系列内容的ndarray呢?

撰写回答