【发布时间】:2025-11-23 08:55:01
【问题描述】:
我有一个 Pandas 数据框:
import pandas as pd
df = pd.DataFrame({'col1': ['a','a','b','b'],
'col2': [1,2,3,4],
'col3': [11,12,13,14]})
col1 col2 col3
0 a 1 11
1 a 2 12
2 b 3 13
3 b 4 14
如果col1 中的值是b,我需要将col2 中的条目替换为行的col2 和col3 值的某个函数,但如果@ 中的值保持不变,则保持行不变987654327@ 不是b。假设函数是col3 * exp(col2),然后将其应用于上面的df 将产生
col1 col2 col3
0 a 1 11
1 a 2 12
2 b 261.1 13
3 b 764.4 14
理想情况下,这将被矢量化并就地进行,因为我的真实 DataFrame 有几百万行。
这与 Stack Overflow 上的其他问题不同,因为它们只需要新值不依赖于其他列或一次更改所有行。谢谢。
编辑:更正了目标 DataFrame。已将函数从 exp(col2)+col3 更改为 exp(col2)*col3 而不更新示例中的值。
【问题讨论】:
标签: python pandas dataframe numpy slice