python - 使用树信息创建 pandas 列
问题描述
我有一个带有 ' Tree
' 列的 pandas df,我想创建Leaf
仅包含 ' '的列integers
,以区分该分类法是否属于同一个最终叶:
'index' 'Tree'
0 'woman | watches | steal'
1 'woman | dresses | short-sleve'
2 'woman | watches | steal'
3 'woman | dresses | short-sleve'
4 'woman | dresses | long-sleve'
输出:
'index' 'Tree' 'Leaf'
0 'woman | watches | steal' 0
1 'woman | dresses | short-sleve' 1
2 'woman | watches | steal' 0
3 'woman | dresses | short-sleve' 1
4 'woman | dresses | long-sleve' 2
有什么建议可以快速完成吗?
解决方案
您可以groupby('Tree')
并获取组号:
df['Leaf'] = df.groupby('Tree').ngroup()
如果您只想使用最后一个元素:
df['Leaf'] = df.groupby(df['Tree'].str.split(' | ').str[-1]).ngroup()
推荐阅读
- flutter - 如何从 iframe 播放视频?
- android - 在多模块项目中使用刀柄时出错
- android - QT + Android + UI 切换应用时无响应
- html - 如何在python上替换html中的一些文本?
- python - 有没有办法在消息被删除后发送消息?
- r - 从列中的字符串中删除多个字符
- javascript - 如何在使用 useEffect 和 setState 时有条件地呈现某些数据?
- powershell - Powershell 启动脚本 GPO 未应用
- c++ - 如何安装MATIO库?
- soapui - 可以使用自定义 vpn 和代理脚本在 burp 中拦截soapui 请求吗?