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

我想根据某个值对数据框的子集进行排序(例如,在索引i和j之间)。我试过了

df2=df.iloc[i:j].sort_values(by=...)
df.iloc[i:j]=df2

第一行没有问题,但是运行第二行没有任何反应(甚至没有错误)。我应该怎么做 ?(我也尝试了更新功能,但它没有执行任何操作)。


慕桂英3389331
浏览 129回答 1
1回答

智慧大石

我相信需要分配给DataFrame转换为numpy数组的过滤器,values以避免对齐索引:df = pd.DataFrame({'A': [1,2,3,4,3,2,1,4,1,2]})print (df)   A0  11  22  33  44  35  26  17  48  19  2i = 2j = 7df.iloc[i:j] = df.iloc[i:j].sort_values(by='A').valuesprint (df)   A0  11  22  13  24  35  36  47  48  19  2
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python