0
点赞
收藏
分享

微信扫一扫

pandas df.loc df.iloc 区别


​​welcome to my blog​​

df.loc是通过名字访问行或者列

df.iloc是通过索引访问行或者列, 所以df.iloc只能跟整数

举个例子

import numpy as np
import pandas as pd
s = pd.Series(data=np.nan, index=[49, 48, 47, 46, 45, 1, 2, 3, 4, 5])
s
'''
49 NaN
48 NaN
47 NaN
46 NaN
45 NaN
1 NaN
2 NaN
3 NaN
4 NaN
5 NaN
dtype: float64
'''

#s.iloc[:3]返回前三行, 因为iloc是通过索引访问行或者列的
s.loc[:3]
'''
49 NaN
48 NaN
47 NaN
dtype: float64
'''

#s.loc[:3]返回前8行, 因为loc是通过名字访问行或者列的
s.iloc[:3]
'''
49 NaN
48 NaN
47 NaN
46 NaN
45 NaN
1 NaN
2 NaN
3 NaN
dtype: float64
'''

进阶的例子

import numpy as np
import pandas as pd
df = pd.DataFrame(data=np.nan, index=list('abcde'), columns=['x', 'y', 'z', 8, 9])

'''
x y z 8 9
a NaN NaN NaN NaN NaN
b NaN NaN NaN NaN NaN
c NaN NaN NaN NaN NaN
d NaN NaN NaN NaN NaN
e NaN NaN NaN NaN NaN
'''

# 获取c那一行的前四列
print(df.iloc[:df.index.get_loc('c') + 1, :4])
'''
x y z 8
a NaN NaN NaN NaN
b NaN NaN NaN NaN
c NaN NaN NaN NaN
'''

​​参考​​


举报

相关推荐

0 条评论