从numpy.array创建pandas.DataFrame

时间:2014-08-01 01:08:33

标签: python pandas

以下是我正在使用的内容:

import numpy as np
import pandas as pd
np.__version__  # '1.8.1'
pd.__version__  # '0.14.1-107-g381a289'

以下是一些假数据:

foo = np.arange(5)
bar = np.random.randn(30).reshape((5, 3, 2))

我希望foobar成为pd.DataFrame。 令我惊讶的是,以下内容不起作用(即使foo.shape[0] == bar.shape[0]):

df = pd.DataFrame.from_dict(dict(foo=foo, bar=bar))
# Exception: Data must be 1-dimensional

这确实有效:

df = pd.DataFrame.from_dict(dict(foo=foo.tolist(), bar=bar.tolist()))
df['bar'] = df['bar'].apply(np.array)

这种将我的array转换为嵌套list,然后通过apply将其转换回数组的迂回方法令人烦恼。是否有一种我不知道的直接方式?

0 个答案:

没有答案