我有一个df,看起来像这样,但更大:
df = pd.DataFrame({
'Time' : [1,2,7,10,15,16,77,98,999,1000,1121,1245,1373,1490,1555],
'ID' : ['1', '1', '1', '1', '1', '2', '2', '2', '2', '2', '3', '3', '3', '3', '3'],
'Act' : ['1', '2', '4', '4', '2', '0', '2', '4', '4', '1', '4', '4', '1', '1', '2'],
'mean_bout_count' : ['2.3', '4', '7', '7', '1', '2', '2.2', '2.1', '2.1', '10', '3', '3', '3', '3', '3']})
对于"Act\u cat"==4和"mean\u about\u count"的每一行(<;3我想从"Act\U cat"列中取-1.就我所知,下面的代码从所有行中取了-1,而且花费的时间太长...
df = df.reset_index()
for i, row in df.iterrows():
if df.iloc[i]["Act_cat"] == 4 and df.iloc[i]["mean_bout_count"] < 3:
df["Act_cat"] = df["Act_cat"]-1
else:
df["Act_cat"] = df["Act_cat"]-0
如果你有更好的主意,请告诉我!
非常感谢.