首页 > 解决方案 > 如何在 Pandas 中创建一列虚拟变量?

问题描述

我有一列时间序列数据看起来像这样

TimeStamp               Data
2002-01-01 00:00:00     0.00120 
2002-01-01 08:00:00     0.00070 
2002-01-01 12:00:00     0.00000 
2002-01-01 16:00:00    -0.00440 
...
2003-01-01 12:00:00     0.00220 
2003-01-01 16:00:00    -0.00440 

一般来说,有正、负和0.00000中列。我想添加一个虚拟列,所有正数用 1 表示,负数用 0 表示,然后0.00000用 2 表示。我可以用循环来做到这一点,但如果我使用 Pandas,这似乎不是一个聪明的主意。

有人能告诉我在 Pandas 中这样做的正确方法吗?谢谢!

标签: pythonpandastime-series

解决方案


如果它对您有用,则可以np.sign提供1,0,-1+,0,-

df['sign'] = np.sign(df['Data'])

推荐阅读