首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Pandas -比较2列并根据优先级选择值

在 Pandas 中,您可以使用 combine_firstfillna 函数结合逻辑条件来比较两列并根据优先级选择值

代码语言:javascript
复制
import pandas as pd

# 创建一个示例数据框
data = {'A': [1, 2, None, 4],
        'B': [None, 3, 4, None]}
df = pd.DataFrame(data)
print("原始数据框:")
print(df)

# 使用combine_first函数根据优先级选择值
# 优先选择A列的值,如果A列为空,则选择B列的值
df['result'] = df['A'].combine_first(df['B'])
print("\n根据优先级选择值(A优先):")
print(df)

# 使用fillna函数根据优先级选择值
# 优先选择A列的值,如果A列为空,则选择B列的值
df['result'] = df['A'].fillna(df['B'])
print("\n根据优先级选择值(A优先):")
print(df)

这个例子首先创建了一个包含两列(A 和 B)的数据框,其中一些单元格为空。然后使用 combine_firstfillna 函数,根据优先级从 A 和 B 列中选择值。在两个示例中,都是优先选择 A 列的值,如果 A 列为空,则选择 B 列的值。

运行上述代码后,您将看到以下输出:

代码语言:javascript
复制
原始数据框:
     A    B
0  1.0  NaN
1  2.0  3.0
2  NaN  4.0
3  4.0  NaN

根据优先级选择值(A优先):
     A    B    result
0  1.0  NaN  1.0
1  2.0  3.0  2.0
2  NaN  4.0  4.0
3  4.0  NaN  4.0

根据优先级选择值(A优先):
     A    B    result
0  1.0  NaN  1.0
1  2.0  3.0  2.0
2  NaN  4.0  4.0
3  4.0  NaN  4.0
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券