python - 使用python更新数据库特定列中的值
问题描述
我id
在一个名为 _newdata 的数据框中调用了一个 col,它看起来像这样。请注意,这是列中值的一部分,而不是全部。
1
1
1
2
2
2
2
2
4
4
4
4
4
5
5
5
5
7
7
7
7
7
8
8
8
8
10
10
10
我想要做的是使用值重命名“id”,使其处于运行数字中。这意味着我希望它看起来像这样
1
1
1
2
2
2
2
2
3
3
3
3
3
4
4
4
4
5
5
5
5
5
6
6
6
6
7
7
7
我尝试使用它,但它似乎没有对文件做任何事情。有人可以告诉我哪里出错或建议一种方法来做我想做的事吗?
count = 1 #values start at 1
for i, row in _newdata.iterrows():
if row['id']==count or row['id']==count+1:
pass
else:
count+=1
row['id']=count
解决方案
您可以使用密集 rank():
df['id'] = df['id'].rank(method='dense').astype(int)
推荐阅读
- jquery - jquery ui 自动完成自定义数据语法
- android - 如何使用链为约束布局中的单个视图设置动画?
- sql-server - 使用 Node.js 提供的 mssql 包在 Node.js express 应用程序中执行存储过程
- javascript - OnClientClick 未触发
- java - Android Studio-ADV“系统 UI 没有响应”
- linux - Jekyll 安装,参数数量错误
- mysql - 使用节点 js 从 mysql 中选择查询(LIKE 查询)
- leaflet - 点击事件未在传单中触发
- c# - SoundPlayer 可调节音量
- python - 如何更改熊猫df中特定行的时间戳