python長寬表轉換 pandas之表的長寬轉換

2021-10-11 03:00:59 字數 970 閱讀 7027

**的長寬轉換

**長寬轉換也是一種透視表操作

df.pivot()

將 一張長表 轉為 多張寬表

pd.melt()

將 多張寬表 轉為 一張長表

二者互為逆操作

pivot和pivot_table的區別

pivot轉換後,如果表索引有重複值會直接出錯

pivot_table轉換後,如果表索引有重複值會聚合為乙個輸出,不會出錯

如果資料不重複,pivot_table得到的結果和pivot一致

pivot_table更常用

df_test = pd.dataframe()

# 可看性不好

dfx = pd.melt(df2) # 將無論多少列轉為2列,1列是原列索引,1列是原值

當使用pandas.melt,最好指明哪些列是分組指標

指定key列是唯一分組指標,其它列是資料值

melted = pd.melt(df2, ['key'])

*** = melted.pivot('key', 'variable', 'value').reset_index() # reset_index()將行索引轉為普通列,set_index()普通列轉為行索引

***.columns.name = '' # 去除列索引name

# 還可以指定哪些列參與合併

pd.melt(df2, ['key'])

pd.melt(df2, ['key'], value_vars=['a', 'b']) # 沒有c

pandas.melt可以不用分組指標

pd.melt(df2, value_vars=['a', 'b'])

綜合練習:同時指定多個分組指標,和參與列

pd.melt(df2, ['key','a']) # 指定多個分組指標

pd.melt(df2, ['key','a'], value_vars=['b']) # 指定多個分組指標和參與列

XP系統的Python3 4 4安裝pandas

要使用tushare庫,但這個庫需要其他庫的支援,如lxml和pandas 前幾個庫還好,pandas在pip的時候總是出現紅字報錯,歸結原因差不多是說你當前的系統 目前安裝的python版本和pip下來的這個pandas安裝包不相容。首先切換目錄 cd c python34 scriptspyth...

python轉換字元 Python字元轉換

python提供了ord和chr兩個內建的函式,用於字元與ascii碼之間的轉換。如 print ord a print chr 97 a下面我們可以開始來設計我們的大小寫轉換的程式了 複製 如下 usr bin env python coding utf 8 def ucasechar ch if...

型別轉換表

發生擴大轉換。當乙個型別的值轉換為相等或更大範圍的另一種型別時。收縮轉換時,會發生乙個型別的值轉換為較小的另一種型別的值時。本主題中的表闡釋了兩種轉換型別顯示的行為。擴大轉換 下表描述了可以執行,不會丟失資訊的擴大轉換。型別可以轉換,而不會丟失資料 byte uint16,int16,uint32,...