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

将值设置为Pandas数据框的切片

将值设置为Pandas数据框的切片

慕桂英3389331 2021-04-29 17:57:27
我想根据某个值对数据框的子集进行排序(例如,在索引i和j之间)。我试过了df2=df.iloc[i:j].sort_values(by=...) df.iloc[i:j]=df2第一行没有问题,但是运行第二行没有任何反应(甚至没有错误)。我应该怎么做 ?(我也尝试了更新功能,但它没有执行任何操作)。
查看完整描述

1 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

我相信需要分配给DataFrame转换为numpy数组的过滤器,values以避免对齐索引:


df = pd.DataFrame({'A': [1,2,3,4,3,2,1,4,1,2]})

print (df)

   A

0  1

1  2

2  3

3  4

4  3

5  2

6  1

7  4

8  1

9  2


i = 2

j = 7

df.iloc[i:j] = df.iloc[i:j].sort_values(by='A').values

print (df)

   A

0  1

1  2

2  1

3  2

4  3

5  3

6  4

7  4

8  1

9  2


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

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信