python - 将 numpy ndarray 数据放入 pandas

标签 python arrays numpy multidimensional-array pandas

我想把下面的数据放到pandas里面做进一步的分析。

import numpy as np
import pandas as pd
from pandas import DataFrame

data = np.array([[[1, 1, 1, np.nan, 1], [np.nan, 1, 1, 1, 1]],
                 [[2, np.nan, 2, 2, 2], [2, np.nan, 2, 2, 2]],
                 [[3, 3, 3, np.nan, 3], [3, 3, 3, 3, np.nan]]])

pnda = pd.Series(data)

print pnda

但是出现如下错误:

Exception: Data must be 1-dimensional

这样做的好方法是什么?我进一步分析是用三次或多项式方法插值填充np.nan值,并将结果输出为numpy数组。

最佳答案

尝试使用面板:

import numpy as np
import pandas as pd

data = np.array([[[1, 1, 1, np.nan, 1], [np.nan, 1, 1, 1, 1]],
                 [[2, np.nan, 2, 2, 2], [2, np.nan, 2, 2, 2]],
                 [[3, 3, 3, np.nan, 3], [3, 3, 3, 3, np.nan]]])

x = pd.Panel(data)
x

<class 'pandas.core.panel.Panel'>
Dimensions: 3 (items) x 2 (major_axis) x 5 (minor_axis)
Items axis: 0 to 2
Major_axis axis: 0 to 1
Minor_axis axis: 0 to 4

还有……

print(x.loc[0])
    0  1  2   3  4
0   1  1  1 NaN  1
1 NaN  1  1   1  1

关于python - 将 numpy ndarray 数据放入 pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23432698/

相关文章:

javascript - 将Google结果对象(纯js)转换为Python对象

c - 如何在 C 中通过 malloc 为字符串分配指针数组?

使用字符串将十进制数字转换为二进制代码

python - 使用 scipy.stats 的分布均值和标准差

python - 是否可以为整个 python 项目设置默认日志文件?

python - 如何根据数据框列值将目录中的图像组织成类?

arrays - 使用变量在 bash 中传递 grep 模式

python - Numpy 数组和列表的多重赋值,一个奇怪的例子

python - 在没有 scipy.sparse 的情况下向量化稀疏和

python - 使@lru_cache忽略一些函数参数