转换/枢转数据帧实例



我有以下熊猫数据框架:

import pandas as pd
data = dict(store=['A', 'B', 'B'], color=['red', 'black', 'black'], size=['small', 'medium', 'small'], quantity=[2, 4, 1])
df = pd.DataFrame(data)

看起来像这样:

  store  color    size  quantity
0     A    red   small         2
1     B  black  medium         4
2     B  black   small         1

我想做的是pivot函数创建一个新的数据框架,该功能使用store列作为标头和colorsize列的每个唯一行值的quantity值。所以看起来应该这样:

       A   B
black  0   5
red    2   0 
small  2   1
medium 0   4

可以做到吗?像 df.pivot(columns='store')这样的东西似乎是要走的路...

您可以使用meltpivot_table()

m=df.melt(['store','quantity'])

m.pivot_table(index='value',columns='store',values='quantity',aggfunc='sum',fill_value=0)

store   A  B
value       
black   0  5
medium  0  4
red     2  0
small   2  1

相关内容

最新更新