繁体   English   中英

如何根据另一列的条件编辑所有行中的列值?

[英]How to edit column values in all rows based on condition of another column?

python/ dataframe中的 dataframe,其中一列中side行是 delta+ 或 delta-。 其他列之一具有绝对值PV01

我想创建一个额外的列并填充它: IF side == delta- populate with ( 0 - PV01 ),即将值转换为负数。 IF side == delta+然后填充与PV01相同的值。

这回答了你的问题,但我不确定它是否会有所帮助,

import pandas as pd
d = {'col1': [1, 2, 3], 'delta': [-1,1,-1]}
df = pd.DataFrame(data=d)
print(df,"\n\n")
df['col_new'] = 0
for i in range(len(df)):
    if df['delta'][i] > 0:
        df['col_new'][i] = df['col1'][i]
    else:
        df['col_new'][i] = -df['col1'][i]

print(df)

返回

   col1  delta
0     1     -1
1     2      1
2     3     -1 


   col1  delta  col_new
0     1     -1       -1
1     2      1        2
2     3     -1       -3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM