我想从一个多索引的pandas.DataFrame生成一个三维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多索引看起来像是多维数组的替代品,但它不提供(或至少不提供文档)来回切换的方法……
谢谢。
发布于 2020-01-28 03:22:16
使用:
df.to_xarray().to_array().values.transpose(1,2,0)
>>[[[ 1. 10.]
[ 2. 20.]]
[[ 5. 30.]
[nan nan]]]https://stackoverflow.com/questions/59935954
复制相似问题