为了账号安全,请及时绑定邮箱和手机立即绑定

熊猫数据框无法将值分配给切片子集

熊猫数据框无法将值分配给切片子集

饮歌长啸 2021-05-03 08:08:41
我正在尝试更改片中除第一个以外的所有值,但它不起作用...我在做什么错?print(test)test.loc[(test.col_1==-5)&(test.index>'2018-07-17 13:00:00')&(test.index<'2018-07-17 14:00:00'),['col_1']][1:]=-1print(test)提供以下输出17/07/2018 13:51:00 -517/07/2018 13:52:00 -117/07/2018 13:53:00 -517/07/2018 13:54:00 -517/07/2018 13:55:00 -517/07/2018 13:56:00 -517/07/2018 13:57:00 -517/07/2018 13:58:00 -517/07/2018 13:59:00 -517/07/2018 13:51:00 -517/07/2018 13:52:00 -117/07/2018 13:53:00 -517/07/2018 13:54:00 -517/07/2018 13:55:00 -517/07/2018 13:56:00 -517/07/2018 13:57:00 -517/07/2018 13:58:00 -517/07/2018 13:59:00 -5而我期望第二个输出是17/07/2018 13:51:00 -517/07/2018 13:52:00 -117/07/2018 13:53:00 -117/07/2018 13:54:00 -117/07/2018 13:55:00 -117/07/2018 13:56:00 -117/07/2018 13:57:00 -117/07/2018 13:58:00 -117/07/2018 13:59:00 -1
查看完整描述

2 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

您可以使用numpy.where并使用索引[1:]来排除该标准是第一次True。这是一个最小的示例:


df = pd.DataFrame([[1, -5], [2, -5], [3, -1], [4, -5], [5, -5], [6, -1]],

                  columns=['col1', 'col2'])


df.iloc[np.where(df['col1'].between(2, 5))[0][1:], 1] = -1


print(df)


   col1  col2

0     1    -5

1     2    -5

2     3    -1

3     4    -1

4     5    -1

5     6    -1


查看完整回答
反对 回复 2021-05-11
  • 2 回答
  • 0 关注
  • 129 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号