python - 将二维 numpy 数组的 Pandas 系列转换为一维 numpy 数组列的 Pandas DataFrame

标签 python arrays pandas numpy dataframe

第一次发布到 stackoverflow。我已经搜索过,但找不到答案。

我有一个二维 numpy 数组的 Pandas 系列:

import numpy as np
import pandas as pd

x1 = np.array([[0,1],[2,3],[3,4]],dtype=np.uint8)
x2 = np.array([[5,6],[7,8],[9,10]],dtype=np.uint8)

S = pd.Series(data=[x1,x2],index=['a','b'])

输出 S 应该是这样的:

a    [[0, 1], [2, 3], [3, 4]]
b    [[5, 6], [7, 8], [9, 10]]

我希望将其转换为 Pandas DataFrame D,其中 S 中 2D numpy 数组的每一列都变成 D 列中的一维 numpy 数组:

D 应该是这样的:

     0        1
a    [0,2,3]  [1,3,4]
b    [5,7,9]  [6,8,10]

请注意,我的实际数据集是 1238500 个数组,大小为 (32,8),因此我试图避免遍历行。

执行此操作的有效方法是什么?

最佳答案

一种解决方案 np.stack map

df =  pd.DataFrame(np.stack(map(np.transpose, S)).tolist(), index=S.index)

print (df)

           0           1
a  [0, 2, 3]   [1, 3, 4]
b  [5, 7, 9]  [6, 8, 10]

关于python - 将二维 numpy 数组的 Pandas 系列转换为一维 numpy 数组列的 Pandas DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53603199/

相关文章:

python - 使用 loc 函数将行附加到数据框的末尾

python - 仅绘制大型 Pandas 数据框中的唯一行

Python 3.5.1同目录下导入类

python - 如何使我的 Bokeh 图居中

python - emacs 自动完成模式的颜色模式

java - 在java中备份数组

c - 通过调用 getchar 改变程序的行为

python - MapReduce:Mrjob 持久保存结果

php - 在函数中使用 PDO 返回一些值

python - Pandas:使用另一个数据帧中的重复行更新多个数据帧列