根据另一行的值更改熊猫数据框中的一行

问题描述 投票:-1回答:1

我有一个Pandas DataFrame,其中包含来自冰淇淋冰箱的数据。几列描述了系统中的不同温度以及其他一些内容。一栏名为“除霜状态”,告诉我冷冻机何时解冻以去除具有布尔值的大量冰。

那些“除霜”是我感兴趣的,因此我添加了另一列名为“ around_defrost”。该列目前仅具有NaN值,但是只要距数据框中的该行30分钟之内除霜,我想将它们更改为“ True”。数据每分钟记录一次,因此30分钟意味着除霜前30行和其后30行需要设置为'True'

我已经尝试用itterrows,ittertuples以及通过使用索引来做到这一点,但到目前为止都没有成功。如果有人对如何做到这一点有一个好主意,我将不胜感激!

python pandas dataframe
1个回答
0
投票

您需要使用dataframe.rolling

df = df.sort_values("Time") #sort by Time

df['around_defrost'] = df['Defrost status'].rolling(60, center=True).apply(
                                            lambda x: True if True in x else False, raw=True)
© www.soinside.com 2019 - 2024. All rights reserved.