以下是我正在使用的内容:
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))
我希望foo
和bar
成为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
将其转换回数组的迂回方法令人烦恼。是否有一种我不知道的直接方式?