python - 需要根据单元格值更新 pandas 数据框行。此外,如果 2 行具有相同的单元格值,则只需更新第一行
问题描述
场景 1
数据框如下:
AAA BBB
0 A 100
1 B 100
2 C 100
3 D 100
设置 AAA = 'Z' 和 BBB = 200 其中 AAA = 'C'?
情景 2
数据框如下:
AAA BBB
0 A 100
1 B 100
2 C 100
3 B 100
设置 AAA = 'Z' 和 BBB = 200,其中 AAA = 'B' 但仅在 index = 1 的情况下?因此,如果多行符合“where”标准,则基本上仅在第一行中。
我的尝试
我尝试过这样的事情,它适用于场景 1,但我不知道如何做场景 2
df.iloc[ np.where( df_positions.AAA == 'C')[0]] = 'Z'
解决方案
在你的情况下
cond=(df.index==1)&df.AAA.eq('B')
df.loc[cond]=['Z',200]
df
AAA BBB
0 A 100
1 Z 200
2 C 100
3 B 100
推荐阅读
- java - 如何在不使用继承的情况下将 2 个不相关的类连接成一个类型
- powerapps - Microsoft Power Platform 连接器和提供程序的源代码在哪里?
- r - R:使用 RSelenium 捕获删除线文本
- android - Android Datastore IOException 无法重命名为
- mysql - 有没有办法在 MySQL 上生成 ULID?
- android-mediaplayer - Android 媒体播放器在退出时崩溃
- postgresql - PostgreSQL 规划器不想对布尔列使用布隆索引
- php - 开放 API/Swagger Symfony 注解?
- php - 如何设置默认值下拉选择列表表单leftjoin表
- python - QSQLITE ATTACH DATABASE 挂起的原因可能是什么