【发布时间】:2018-01-07 10:33:08
【问题描述】:
我有一个 4D numpy 形状数组(4、155、240、240)。我想创建一个 pandas DataFrame,其中该数组的每个元素有一行,五列:四个索引中的每一个,一个用于数组中的值。我现在使用的代码如下所示:
import pandas as pd
import numpy as np
# some array of this shape
im = np.zeros((4, 155, 240, 240))
df = {col: [] for col in ['mode', 'x', 'y', 'z', 'val']}
for idx, val in np.ndenumerate(im):
df['mode'].append(idx[0])
df['y'].append(idx[1])
df['x'].append(idx[2])
df['z'].append(idx[3])
df['val'].append(val)
df = pd.DataFrame(df)
有没有办法更有效地做到这一点,可能使用矢量化操作?
【问题讨论】:
标签: python arrays python-2.7 pandas numpy