基于ndarray二维数组转置,实现dataframe对象的转置
发布于 作者:苏南大叔 来源:程序如此灵动~

本文描述dataframe
对象的转置操作,在多次驰骋这些数据类型外,苏南大叔慢慢发现:dataframe
的背后就是ndarray
,dataframe
的很多操作都没有ndarray
的类似操作好用。本文对dataframe
对象的转置,也是基于ndarray
进行操作的。

大家好,这里是苏南大叔的“程序如此灵动”博客,本文描述对dataframe
对象的转置操作。测试环境:win10
,python@3.11.0
,numpy@1.24.2
,pandas@1.5.3
。
基本思路
对dataframe
对象的转置,实际上是对ndarray
二维数组的转置。所以,本文的思路非常简单,把dataframe
拆分出.values
,.columns
,.index
三项内容。然后在对ndarray
类型的.values
进行转置,同时调换columns
和index
标签,最后重新组装数据,完成需求。
拆分数据
拆分dataframe
的方法,基于如下文章内容:
获得数值:
获得标签:
对.values
进行转置
因为df.values
的类型是ndarray
,所以关于【二维 】ndarray
的转置问题,有如下三种方案:
- https://newsn.net/say/ndarray-t.html
- https://newsn.net/say/ndarray-transpose.html
- https://newsn.net/say/ndarray-swapaxes.html
当然最终选定的肯定是.T
方案,最简单实用。
组装成新的dataframe
dataframe
就是二维ndarray
加上个labels
(columns
+index
)。所以,把行列标签也转置了,就可以了。参考文章:
测试代码
原版的dataframe
:
被转置过的dataframe
:

结束语
本文很水,有严重的凑字数嫌疑。看看其它的苏南大叔的文章,鉴定一下水分吧。


