python - 如何基于 GroupyBy 对象创建一个新的数据框列?
问题描述
df=pd.DataFrame({'Name':['a','a','b','b','b','c'], 'Score':[4,6,8,12,34,66]})
我想按如下方式获取我的数据框:
我尝试从使用 groupie 开始
df.groupby('Name')
这当然给了我一个 groupby 对象。我想我需要对 groupby 对象的每一组进行某种旋转?
解决方案
您可以使用:
df['Column'] = 'Score' + df.groupby('Name').cumcount().astype(str)
(df.pivot(index='Name', columns='Column', values='Score')
.reset_index()
.rename_axis(columns=None)
.rename(columns={"Score0": "Score"})
)
输出:
Name Score Score1 Score2
0 a 4.0 6.0 NaN
1 b 8.0 12.0 34.0
2 c 66.0 NaN NaN
推荐阅读
- sequelize.js - model.hasMany 不是函数
- javascript - 如何使用诸如 useEffect 和 useState 之类的 Hooks 在 Api 中使用 Map 函数
- python - csv->Oracle DB 自动计划导入
- json - 根据 PostgreSQL 中另一列的值选择 Json 数组的一部分
- google-apps-script - TypeError:lastrow.setValues 不是函数
- c# - 修改二维数组中两个相对可逆点之间的元素区域
- pandas - 将数据类型转换为整数并删除具有非整数类型值的行
- c# - Web API, C# - 递归调用文档库 API 以获取所有内容
- ubuntu - 如何在 ubuntu 18.04 中安装 ltcl3.2
- excel - 我正在尝试遍历工作表第 1 行中的每个项目,如果它存在于集合中,则将其删除。但它只是不工作