gpt4 book ai didi

python - 根据条件计算 Dataframe 中的正负连续元素

转载 作者:太空宇宙 更新时间:2023-11-04 04:24:01 27 4
gpt4 key购买 nike

我有一个这样的数据框。

import pandas as pd

df = pd.DataFrame({
'col': ['neutral', 'neutral', 'neutral', 'positive', 'positive', 'negative', 'neutral']})

现在我想更新“col”,这样当从正变为负或相反时我得到一个真,否则我得到一个假(即连续相等的值),当有变化时我也得到一个假从正面/负面到中性,反之亦然。

我尝试了几种使用 grouby 和 transform 的方法,但没有任何效果。

我想要的输出是:

df = pd.DataFrame({
'col': ['False', 'False', 'False', 'False', 'False', 'True', 'False']})

最佳答案

map + 差异

将正负分别映射到1-1,将中性映射到0。当您对系列进行差分时,每次正负相继输出的绝对值将为 2,您可以轻松检查它,从而得到您想要的结果:

d = {'positive': 1, 'negative': -1, 'neutral': 0}

df.col.map(d).diff().abs().eq(2)

0    False
1 False
2 False
3 False
4 False
5 True
6 False
Name: col, dtype: bool

关于python - 根据条件计算 Dataframe 中的正负连续元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53859579/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com