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

如何基于DataFrame列值将指定元素乘以1000?

解决DataFrame列中部分数值乘以1000的问题

针对你需要仅将DataFrame列中小于1000的数值乘以1000的需求,以下是几种高效的实现方法:

方法1:使用loc条件筛选赋值

这是Pandas中最直观且性能最优的方法,直接定位目标行进行修改:

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({'values': [5345, 1023, 1.6, 4325, 2.5]})

# 仅对values列中小于1000的数值乘以1000
df.loc[df['values'] < 1000, 'values'] *= 1000

loc通过布尔条件筛选出符合要求的行,仅对这些行的目标列执行乘法赋值,不会影响其他数值。

方法2:使用numpy.where实现向量化操作

适合需要快速生成新列或替换原列的场景,向量化操作性能优异:

import pandas as pd
import numpy as np

df = pd.DataFrame({'values': [5345, 1023, 1.6, 4325, 2.5]})

# 替换原列:满足条件则乘1000,否则保留原值
df['values'] = np.where(df['values'] < 1000, df['values'] * 1000, df['values'])

np.where会批量处理所有元素,逻辑清晰且执行效率高。

方法3:使用apply(适配复杂逻辑场景)

如果后续需要扩展更复杂的判断规则,可以用自定义函数配合apply实现,适合数据量不大的场景:

import pandas as pd

df = pd.DataFrame({'values': [5345, 1023, 1.6, 4325, 2.5]})

def adjust_value(x):
    return x * 1000 if x < 1000 else x

df['values'] = df['values'].apply(adjust_value)

自定义函数处理单个元素,apply遍历列中所有值执行函数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 14:45:31