我想根据某个值对数据框的子集进行排序(例如,在索引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
添加回答
举报
0/150
提交
取消