python - 熊猫的 itterows 更新问题
问题描述
我有一个数据集:
id name m
0 1 mina 0
1 1 sara 0
2 2 travi 0
3 3 caty 0
5 4 el 0
6 6 tom 0
我编写了以下代码来更改我的数据框
for index, row in df.iterrows():
if(row['m']==0):
df.loc[df['id'] ==row['id'] ,'m'] = 1
print(row['name'])
结果是
mina
sara
travi
caty
el
tom
我的问题是为什么要打印第二行?有什么办法可以解决吗?
解决方案
那是你需要的吗?
for item in df['id']:
if ((df.loc[df['id'] == item, 'm'].values[0]) == 0):
df.loc[df['id'] == item, 'm'] = 1
print(item)
推荐阅读
- python - 使用 pytest 在单元测试中避免或绕过多个装饰器
- c# - 你如何配置 IRequestClient
和 IConsumer 使用 MassTransit.Multibus? - python - 使用 Turtle 模块的 Python 蛇游戏
- python - Django视图没有收到ajax请求
- json - 如何在转换为 json 时忽略 .properties 文件中的特定键
- python - 带有子应用程序的 Django 路由
- r - 聚合数值列的前 3 个值
- kubernetes - 是否有一种云原生友好的方法可以在副本中选择主节点?
- apache-spark - 当我们没有数据框的大小时,我们如何快速从 PySpark 中的大数据中采样?
- c++ - `const` 和例如 `int` 的顺序在 C 中是否有所不同?