Skip to main content
 首页 » 编程设计

python之如何获取列和行来自另一个数据框的列值的数据框

2025年05月04日12mate10pro

我有一个具有以下结构的 df:

my_df 
 
date        hour  product 
2019-06-06  17    laptopt 
2019-06-06  15    printer 
2019-06-07  14    laptopt 
2019-06-07  17    desktop 

我怎样才能得到这样的 df:

hour  laptop  printer  desktop 
14    1       0        0 
15    0       1        0 
16    0       0        0  
17    1       0        1 

到目前为止,我一直在尝试执行 my_df.groupby(["product","hour"]).count().unstack(level=0)

        date 
product desktop laptop  printer 
hour             
14      NaN     1.0     NaN 
15      NaN     NaN     1.0 
17      1.0     1.0     NaN 

我被困在那里了。

谢谢。

请您参考如下方法:

调用您已经unstacked 的内容并执行此操作:

index = pd.RangeIndex(df.hour.min(),df.hour.max() + 1) 
unstacked.reindex(index).fillna(0).astype(int)