or_*_*aug 5 python dataframe pandas
我在熊猫中有一个数据框
val1 val2 val3 time
a b c 0
d e f 5
g h i 7
j k l 4
c a q 9
m e t 2
g n y 1
v k l 0
Run Code Online (Sandbox Code Playgroud)
和timesteps = [0, 3, 8]
我想创建一个新列,该列是该元素的最大值timesteps小于row["time"]
该列的最大值。例如,在这里,新列为[0,3,3,3,8,0,0,0]
最好的方法是什么?
使用pd.cut():
timesteps = [0, 3, 8]
bins=timesteps+[df.time.max()]
#[0, 3, 8, 9]
pd.cut(df.time,bins=bins,labels=timesteps,include_lowest=True)
Run Code Online (Sandbox Code Playgroud)
0 0
1 3
2 3
3 3
4 8
5 0
6 0
7 0
Run Code Online (Sandbox Code Playgroud)