Pandas中DataFrame對象轉(zhuǎn)置(交換行列)
DataFrame對象本質(zhì)上是帶有行列索引的二維矩陣,所以欲對DataFrame對象進行轉(zhuǎn)置操作,需要交換行列索引,同時使二維矩陣轉(zhuǎn)置。
首先創(chuàng)建一個DataFrame對象
import pandas as pd list_test = [[1,2,3],[4,5,6],[7,8,9]] index_colums =['A','B','C'] index_row = ['a','b','c'] df = pd.DataFrame(list_test, columns=index_colums,index=index_row) print(df)
運行結(jié)果如下
A B C
a 1 2 3
b 4 5 6
c 7 8 9
用如下代碼進行轉(zhuǎn)置操作
df_T = pd.DataFrame(df.values.T,columns=index_row,index=index_colums) print(df_T)
我們可以看出,我們在參數(shù)中既通過df.values.T使得二維矩陣轉(zhuǎn)置,又通過交換行列索引完成行列索引的變化,使得DataFrame對象完成轉(zhuǎn)置。
運行結(jié)果如下
a b c
A 1 4 7
B 2 5 8
C 3 6 9
補充
有時候需要將一個DataFrame進行行和列的互換,此時可以用DataFrame.stack().unstack(0)進行互換。
示例:
import pandas as pd
from pandas import DataFrame
import numpy as np
np.random.seed(0)
matrix = np.random.rand(3,4)
print(matrix)
df = DataFrame(matrix, index=list('abc'), columns=list('xyzk'))
df

df = df.stack()df

df = df.unstack(0)df

到此這篇關(guān)于Pandas中DataFrame對象轉(zhuǎn)置(交換行列)的文章就介紹到這了,更多相關(guān)Pandas DataFrame對象轉(zhuǎn)置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
numpy中np.nanmax和np.max的區(qū)別及坑
這篇文章主要介紹了numpy中np.nanmax和np.max的區(qū)別及坑,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02
Python小工具之消耗系統(tǒng)指定大小內(nèi)存的方法
今天小編就為大家分享一篇Python小工具之消耗系統(tǒng)指定大小內(nèi)存的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12

