根据另一列的条件重置一列的值Pandas [duplicate]

hpcdzsge  于 2023-02-14  发布在  其他
关注(0)|答案(1)|浏览(140)
    • 此问题在此处已有答案**:

(13个答案)
1小时前关闭。
我有一个带有列"Time"和"Col1"的df。我想写一个简单的函数,在"Time"列的时间间隔之间更改"Col1"的值。
我不知道为什么下面的代码会产生下面的错误:
ValueError:Series的真值不明确。请使用. empty、. bool()、. item()、. any()或. all()。

val = 5
time1 = 200
time2 = 300
def reset_value(df, val, time1, time2):
   df.loc[df['Time'] >= time1 and df['Time']<time2, 'Col1'] = val
   return df
jk9hmnmh

jk9hmnmh1#

&用于按位AND并添加括号:

df.loc[(df['Time'] >= time1) & (df['Time']<time2), 'Col1'] = val

或者使用Series.geSeries.lt

df.loc[df['Time'].ge(time1) & df['Time'].lt(time2), 'Col1'] = val

相关问题