Pandas 排序之后索引问题

In [1]: import pandas as pd
   ...: df=pd.DataFrame({"a":[1,2,3,4,5],"b":[5,4,3,2,1]})

In [2]: df
Out[2]: 
   a  b
0  1  5
1  2  4
2  3  3
3  4  2
4  5  1

In [3]: df=df.sort_values(by="b") # 按照b列排序

In [4]: df
Out[4]: 
   a  b
4  5  1
3  4  2
2  3  3
1  2  4
0  1  5

In [5]: df.loc[0,:] # 按索引来索引所以得到了是排序末位
Out[5]: 
a    1
b    5
Name: 0, dtype: int64

In [6]: df.iloc[0,:] # 按照绝对的索引来索引,所以得到了第一位
Out[6]: 
a    5
b    1
Name: 4, dtype: int64

In [7]: df.iloc[0,"b"] # 因为是绝对位置,所以列的参数不能是列名
ValueError: Location based indexing can only have [integer, integer slice (START point is INCLUDED, END point is EXCLUDED), listlike of integers, boolean array] types

In [8]: df.iloc[0,1] # “b”列的绝对位置是1,所以这就是索引了“b”列
Out[8]: 1

In [9]: df.iloc[0,:]["b"] # 和上述方法是一样的,不过这个更加容易懂一些
Out[9]: 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值