python - 将excel中的左列与右列与python和pandas进行比较
问题描述
我有一个关于比较 python 中的列的问题。例如:如果第 1 列的值以“w”开头,则将“x”添加到 B 列的同一行,但前提是 B 中的行为空。我知道应该有一个循环来过滤这些列,但我对熊猫很陌生。
INPUT
1 2
1 w NaN
2 w b
3 b b
4 w x
OUTPUT
1 2
1 w x
2 w b
3 b b
4 w x
解决方案
首先用isna()
和创建两个条件str.startswith
。
然后使用loc
填充列2
:
m1 = df['1'].str.startswith('w')
m2 = df['2'].isna()
df.loc[m1&m2, '2'] = 'x'
输出
1 2
1 w x
2 w b
3 b b
4 w x
注意:我假设您的列名是字符串,所以我使用了'1'
and '2'
。如果它们是整数,请使用1
and 2
。
推荐阅读
- python-3.x - python中的随机森林可视化
- javascript - 数组中的随机对象可以被拾取一次
- php - Laravel 中间件多角色
- javascript - 浏览器 API 强制浏览器缓存忘记图像?
- oracle - 如何将嵌套表返回一个函数?
- c++ - 使用 C++ 时 Zeller 的一致性无法正常工作
- java - 如何跟踪所有查询是否在 Firestore (Android) 中完成?
- java - A自动打开错误的Activity
- c# - 读取操作期间的 C# TCPClient SocketError 10051。适配器 IP 为空
- flutter - Flutter:使用带有嵌套类的 Provider 更新小部件