首页 > 解决方案 > 如何在熊猫中仅在一个级别中创建组

问题描述

我在我的 excel 文件中导入以下 df3 数据框,并且只想对名称和其他重复数据进行 grouby 反映,如下所示。

注意(每个月的数据将按月添加。)

Df3 =pd.read_Excel('Data')
print (df3)      

Name    ID  Month   Shift

Jon     1   Feb     A
Jon     1   Jan     B
Jon     1   Mar     C
Mike    1   Jan     A
Mike    1   Jan     B
Jon     1   Feb     C
Jon     1   Jan     A

在此处输入图像描述

我想以相同的格式输出如下所示。请帮助我,就像我被困在这里一样。

在此处输入图像描述

将非常感谢您的帮助和支持。

标签: pythonpython-3.xpandaspandas-groupbyvscode-python

解决方案


你可以通过

df=df.iloc[pd.to_datetime(df.Month,format='%b').argsort()]
df=pd.concat([pd.DataFrame({'Month':[x] }).append(y).fillna('').append(pd.DataFrame(dict.fromkeys(y.columns,['']))) for x , y in df.groupby('Name')]).drop('Name',1).iloc[:-1]

print(df)

 Month ID Shift
0   Jon         
1   Jan  1     B
6   Jan  1     A
0   Feb  1     A
5   Feb  1     C
2   Mar  1     C
0               
0  Mike         
3   Jan  1     A
4   Jan  1     B

推荐阅读