首页 > 解决方案 > 将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

标签: pythonpandas

解决方案


首先用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'。如果它们是整数,请使用1and 2


推荐阅读