如果满足特定条件,则需要用另一个单元格的值替换某个单元格的值。
for r in df:
if df['col1'] > 1 :
df['col2']
else:
如果条件是如果第1列中的行的值大于1,那么我希望第1列中的每个值都被其第2列中的相应值替换。
答案 0 :(得分:0)
无需遍历整个数据框。
idx=df['col1']>1
df.loc[idx,'col1']=df.loc[idx,'col2']
使用for循环
for _,row in df.iterrows():
if row['col1']>1:
row['col1']=row['col2']
elif condition:
#put assignment here
else other_condition:
#put assignment here
答案 1 :(得分:0)
这是一个例子
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 4, 6]})
print(df)
print('----------')
# the condition here is A^2 == B
df.loc[df['A'] * df['A'] == df['B'], 'A'] = df['B']
print(df)
输出
A B
0 1 4
1 2 4
2 3 6
----------
A B
0 1 4
1 4 4
2 3 6