You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何将指定列中的奇数(除1外)向上取整为相邻偶数

实现方案

这里以常用的Pandas库为例实现需求,步骤如下:

步骤1:指定目标列

直接把你需要处理的列名存入列表即可,比如要处理示例中的a、b两列,写法如下:

target_cols = ['a', 'b']

如果后续需要新增/减少处理的列,修改这个列表的内容即可。

步骤2:数据处理

提供两种常用实现方式,按需选择:

方式1:apply写法(适合小数据量,逻辑直观)

import pandas as pd

# 构造示例数据,你自己用的时候可以替换成读取自己的数据集,比如pd.read_excel/ pd.read_csv
df = pd.DataFrame({
    'site': ['bali', 'mali'],
    'a': [5, 7],
    'b': [3, 19],
    'c': [1, 1]
})

target_cols = ['a', 'b']
for col in target_cols:
    df[col] = df[col].apply(lambda x: x + 1 if x != 1 and x % 2 == 1 else x)

# 查看结果
print(df)

方式2:矢量化操作(适合大数据量,性能更高)

不需要循环遍历,直接批量处理:

# 承接上面的df和target_cols定义
mask = (df[target_cols] != 1) & (df[target_cols] % 2 == 1)
df[target_cols] = df[target_cols].mask(mask, df[target_cols] + 1)

输出结果验证

两种方式最终得到的df都和你期望的结果一致:

site  a   b  c
0  bali  6   4  1
1  mali  8  20  1

内容的提问来源于stack exchange,提问作者Lynn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 01:45:03