从separate question续,但相关code`:目前大熊猫列分配基础上,如果条件
我需要更改熊猫数据帧的一列,但我找到了解决办法需要大量的蛮力:由于它是一个timedelta索引和收集的数据的随机性,它不必为每个调用设置条件,因此缺乏多功能性。由于我在数据收集过程中需要为阶段分配几个条件,因此我希望有一个更清晰的选项。
这里的破败:
我有几个步骤,需要给予边界。我希望他们各自完成一行。目前我为启动和停止创建索引键,和/或处理时间变化,然后建立变量。
我想所有7看起来像这样:
df['proc'] = np.where((df['press']>1100),'gas soak','pressurize')
相反,他们第一次调用索引键:
idxPnotT = df[df.proc == 'gas soak'].index.tolist()
idxHS = idxPnotT[0]
idxDil0 = idxPnotT[0] + pd.Timedelta(minutes=1)
然后,他们使用索引键分配。
df.loc[idxHS:idxDil0].proc = 'gas soak'
该代码并不漂亮,并且缺乏python允许的平滑度。再次感谢所有的帮助!
有原始代码中的错误阿尔贝托·加西亚拉沃索有助于澄清,一个**SettingWithCopyWarning
由于df.loc[idxHS:idxDil0].proc
而不是df.loc[idxHS:idxDil0,'proc']
。但是,这并不能减轻原文的意图:简化每次数据运行中每步所需的代码行数。
将这4条线压缩到1会产生更大的问题,并且使用单线功能可以更轻松,更清晰。 – double0darbo
您的编辑使我的答案与您的问题似乎无关。我认为你应该回滚编辑并将其作为该问题的更新阅读。 –
关于凝聚线:在重读你的问题(和顶部链接的问题)之后,我仍然不知道你想要做什么。你是说在某些情况下你有一种改变状态的东西吗? –