透视是一种转换,它采用具有代表类别的列和代表值的行的数据框,并重新定向它,以便类别位于行中,值位于列中,索引设置为原始行值。
基本语法:
df.pivot(index=<row_labels>, columns=<col_labels>, values=<value_cols>)
示例:
df.pivot(index='row', columns='col', values='val')
df.pivot(index=['row', 'item'], columns='col', values='val')
df.pivot(index='row', columns='col', values=['val0', 'val1'])
df.pivot(index='row', columns='col', values='val', aggfunc='mean')
默认情况下,如果行或列标签中有重复的键,将会引发错误。或者,您可以使用:
df.pivot_table(index='row', columns='col', values='val', fill_value=0)
groupby unstack:
df.groupby('row', 'col')['val'].mean().unstack(fill_value=0)
pd.crosstab(index=df['row'], columns=df['col'], values=df['val'], aggfunc='count')
df.pivot_table(index='row', columns='col', values='val', aggfunc=['mean', 'sum'])
df.pivot_table(index='row', columns=['item', 'col'], values='val', fill_value=0, aggfunc='mean')
以上是如何有效地透视 Pandas DataFrame?的详细内容。更多信息请关注PHP中文网其他相关文章!