Pandas Melt 函數:重塑資料框進行分析
問題:
問題:問題:
考慮
問題:
考慮
問題:
考慮
考慮一個資料框多個欄位和一個字典:
df = pd.DataFrame([[2, 4, 7, 8, 1, 3, 2013], [9, 2, 4, 5, 5, 6, 2014] ], columns=['艾米', '鮑伯' , '卡爾', '克里斯', '本', '其他', '年份'])<br>
d = {'A': ['艾米'], 'B': ['鮑伯', '本'],'C':['卡爾', 'Chris']}<br>
我們如何重塑資料框以類似於以下結構,其中列被熔化和分組?
團體名稱年份值 0 A Amy 2013 2<p> 1 A Amy 2014 9</p> 2 B Bob 2013 4<ol> 3 B Bob 2014 2 B Bob 2013 4<li> 3 B Bob 2014 4 5 B Ben 2014年5月<strong>6℃卡爾2013 7</strong> 7 C 卡爾2014 4 8 C2013 8<pre class="brush:php;toolbar:false">m = pd.melt(df, id_vars=['Year'], var_name='Name')
答案:
d2 = {} for k, v in d.items(): for item in v: d2[item] = k
融化資料框:
融化資料框使用熔化功能轉換為寬格式。這會將列轉換為行,並使用 id_vars 參數指定應保持不變的列。m['Group'] = m['Name'].map(d2)
建立映射字典:
重塑字典d 建立列名與群組之間的對應mask = m['Name'] == 'Other' m.loc[mask, 'Name'] = '' m.loc[mask, 'Group'] = 'Other'
print(m) Year Name value Group 0 2013 Amy 2 A 1 2014 Amy 9 A 2 2013 Bob 4 B 3 2014 Bob 2 B 4 2013 Carl 7 C ... ... ... ... ... 7 2014 Chris 5 C 8 2013 Ben 1 B 9 2014 Ben 5 B 10 2013 3 Other 11 2014 6 Other
以上是如何使用 Melt 函數和字典重塑 Pandas DataFrame?的詳細內容。更多資訊請關注PHP中文網其他相關文章!