python-3.x - 熊猫用另一列值替换一列值
问题描述
这是示例数据:
Time,RangeGreen,RangeRed,DistanceGreenRed,SlopeGreen,SlopeRed,PreviousCandleColor,CurrentCandleColor
2018.04.02 00:01:01,30-40,20-30,14.42241040084485,0.002837507264410963,-0.002233901393132696,Green,indecisive
2018.04.02 00:03:06,40-50,30-40,9.228956001044772,3.969502900848433,7.203315124348411,Green,indecisive
2018.04.02 00:04:06,10-20,30-40,-13.69498672180752,-19.36590965829607,-2.850639197642629,Red,indecisive
我愿意用 的值替换这些CurrentCandleColor
值,PreviousCandleColor
但 的第 0 个值CurrentCandleColor
应该是 的第 1 个值PreviousCandleColor
。
因此我的最终价值必须是:
Time,RangeGreen,RangeRed,DistanceGreenRed,SlopeGreen,SlopeRed,PreviousCandleColor,CurrentCandleColor
2018.04.02 00:01:01,30-40,20-30,14.42241040084485,0.002837507264410963,-0.002233901393132696,Green,Green
2018.04.02 00:03:06,40-50,30-40,9.228956001044772,3.969502900848433,7.203315124348411,Green,Red
2018.04.02 00:04:06,10-20,30-40,-13.69498672180752,-19.36590965829607,-2.850639197642629,Red,indecisive
我试着像这样移动它;
df['CurrentCandleColor'] = df[1:'PreviousCandleColor']
但我收到以下错误:
TypeError: cannot do slice indexing on <class 'pandas.core.indexes.range.RangeIndex'> with these indexers [PreviousCandleColor] of <class 'str'>
请帮助我。
解决方案
a = df.loc[df.index[-1], 'CurrentCandleColor']
df['CurrentCandleColor'] = df['PreviousCandleColor'].shift(-1).fillna(a)
print (df)
Time ... CurrentCandleColor
0 2018.04.02 00:01:01 ... Green
1 2018.04.02 00:03:06 ... Red
2 2018.04.02 00:04:06 ... indecisive
[3 rows x 8 columns]
或者:
df['CurrentCandleColor'] =df['PreviousCandleColor'].shift(-1).fillna(df['CurrentCandleColor'])
如果可能NaN
,s 值首先获取列的最后一个值,然后返回:
last = df['CurrentCandleColor'].values[-1]
df['CurrentCandleColor'] = df['PreviousCandleColor'].shift(-1)
df.loc[df.index[-1], 'CurrentCandleColor'] = last
推荐阅读
- c# - 逻辑错误:“bsList()”列表意外更改大小
- ssl - OpenSSL 客户端身份验证失败,需要受信任的证书
- c# - C#:如何将 2 个列表放入一个 2 元组列表中
- c# - 使用 Unity3D 增强现实
- html - 我在 css 中 rtl 我的页面有问题,有人可以帮我吗?
- javascript - Gameloop不会匹配css动画
- sql - SQL 将 2 个字段拆分为行
- javascript - 为什么不使用任何光源就可以在 Three.js 中看到 3d 模型?
- kubernetes - 使用负载均衡器时在 kubernetes 日志中查看客户端 IP 地址
- javascript - Angular 4如何显示隐藏嵌套的表单组验证