Python pandas:如何在 2 个不同类别之间更改分类值

Posted

技术标签:

【中文标题】Python pandas:如何在 2 个不同类别之间更改分类值【英文标题】:Python pandas: how to change categorical values in between 2 different categories 【发布时间】:2022-01-16 01:58:45 【问题描述】:

大家好,我正在处理股票市场数据,我想知道如何更改 pandas 数据框,如下所示

From: Signal To: Signal_new
Buy Buy
Buy Hold
Buy Hold
Sell Sell
Sell Hold
Sell Hold
Sell Hold
Buy Buy

提前致谢!

【问题讨论】:

你能展示更多你的数据框吗?我们无法帮助您,因为我们不知道要更改哪些行以及更改原因。 或者您只是想将第一个之后的每个相同类型的值更改为Hold 我将在此处的两行之间阅读,并假设您说“如果信号与前一行相同,请将其更改为 'Hold'”。对吗? 【参考方案1】:

试试这个:

df[df['Signal'] == df['Signal'].shift(1)] = 'Hold'

输出:

>>> df
  Signal
0    Buy
1   Hold
2   Hold
3   Sell
4   Hold
5   Hold
6   Hold
7    Buy

【讨论】:

以上是关于Python pandas:如何在 2 个不同类别之间更改分类值的主要内容,如果未能解决你的问题,请参考以下文章

Pandas:按类别过滤数据框

Pandas:如何绘制一个有两个类别和四个系列的条形图?

Pandas:如何在现有 DataFrame 的列上设置索引?

Pandas 堆积条形图为大型图例重复颜色

如何在没有标头信息的 Python 2.7-Pandas 中读取数据

Python Pandas - 如何在具有不同级别数的索引上加入 DataFrames?