【发布时间】:2020-05-13 02:42:53
【问题描述】:
我想从多索引 pandas.DataFrame 生成一个 3 维 numpy.ndarray。更准确地说,假设我有:
df = pd.DataFrame([[1, '1' , 1, 10], [1, '2', 2, 20], [2, '1', 5, 30]], columns=['x', 'y', 'z', 't'])
df = df.set_index(['x','y'])
df
这给了我
z t
x y
1 1 1 10
2 2 20
2 1 5 30
我想写一个函数,用上面的参数返回numpy.ndarray
[[[1, 10],
[2, 20]],
[[5, 30],
[NaN, NaN]]]
Pandas 多索引看起来像是多维数组的替代品,但它不提供(或至少不记录)来回的方式...
谢谢。
【问题讨论】:
-
df.unstack().stack(dropna=False).to_numpy() -
谢谢,但这不起作用:这将返回一个二维数组。
标签: python pandas numpy dataframe multidimensional-array