[英]Multidimensional numpy.ndarray from multi-indexed pandas.DataFrame
I want to produce a 3-dimensional numpy.ndarray from a multi-indexed pandas.DataFrame.我想从多索引的 pandas.DataFrame 生成 3 维 numpy.ndarray。 More precisely, say I have:
更准确地说,说我有:
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
which gives me这给了我
z t
x y
1 1 1 10
2 2 20
2 1 5 30
and I want to write a function which returns, with the above argument, the numpy.ndarray我想编写一个函数,该函数使用上述参数返回 numpy.ndarray
[[[1, 10],
[2, 20]],
[[5, 30],
[NaN, NaN]]]
Pandas multi-index looks like a substitute for multidimensional arrays, but it does not provide (or at least does not document) ways to go back and forth... Pandas 多索引看起来像是多维数组的替代品,但它没有提供(或至少没有记录)来回移动的方法......
Thanks.谢谢。
Use:用:
df.to_xarray().to_array().values.transpose(1,2,0)
>>[[[ 1. 10.]
[ 2. 20.]]
[[ 5. 30.]
[nan nan]]]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.