python - 如何在 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 中这样做的正确方法吗?谢谢!
解决方案
如果它对您有用,则可以np.sign
提供1,0,-1
:+,0,-
df['sign'] = np.sign(df['Data'])
推荐阅读
- javascript - JavaScript 中的文本验证错误
- angularjs - $httpBackend Angular 导致测试失败并显示“不再有请求”
- visual-studio - XML文档有错误(2、2):Visual Studio, SSRS Project file errors (VS2015-VS2017)
- css - 在线性梯度上使用具有背景位置的百分比值
- c# - 返回多个连接/导航对象
- kubernetes - 无法从 pod 中抓取指标
- java - 找不到存在于 java 中的图像文件
- php - 删除/禁用 Wordpress 日期和 /blog 链接
- r - 在 R 中选择每个日期每个 ID 的第一个正匹配
- android - 使用 Glide 检索时图像变得模糊