loc[row,column]
row:选择指定行数索引
如:
df.loc[:,:] 返回所有数据
df.loc[:3,:] 返回前4行数据(行索引:0 1 2 3)
column:选择指定的列名
如:
df.loc[:3,'name'] 返回的是Series类型
df.loc[:3,['name']] 返回的是DataFrame类型
iloc[row,column]
row和column都必须是选择指定的索引数
如:
df.iloc[:3,:] 返回前3行数据(行索引:0 1 2)
df.iloc[:3,:3] 返回前3行前3列数据
#coding=utf-8
import pandas as pd
df=pd.read_csv('df.csv',header=0)
print(df)
'''
name age sex score
0 lemon 20 male 100
1 jack 22 male 70
2 json 23 fmale 95
3 jean 18 fmale 99
'''
#loc(:,:) 获取所有数据
print(df.loc[:,:])
'''
name age sex score
0 lemon 20 male 100
1 jack 22 male 70
2 json 23 fmale 95
3 jean 18 fmale 99
'''
#loc[:2,:] 获取前3行数据
print(df.loc[:2,:])
'''
name age sex score
0 lemon 20 male 100
1 jack 22 male 70
2 json 23 fmale 95
'''
#loc[:2,'name'] 获取前三行且列索引为name的数据,结果为Series类型
print(df.loc[:2,'name'])
print(type(df.loc[:2,'name']))
'''
0 lemon
1 jack
2 json
Name: name, dtype: object
<class 'pandas.core.series.Series'>
'''
#loc[:2,['name']] 获取前三行且列索引为name的数据,结果为DataFrame类型
print(df.loc[:2,['name']])
print(type(df.loc[:2,['name']]))
'''
name
0 lemon
1 jack
2 json
<class 'pandas.core.frame.DataFrame'>
'''
#loc[:2,['name','age']] 获取前三行且列索引为name即age的数据,结果为DataFrame类型
print(df.loc[:2,['name','age']])
'''
name age
0 lemon 20
1 jack 22
2 json 23
print(df.loc[:2,'name','age'])
结果:报错,要返回多列必须将列名组成列表传入
pandas.core.indexing.IndexingError: Too many indexers
'''
#loc[df.age==22] 获取年龄等于22的行数据
print(df.loc[df.age==22])
'''
name age sex score
1 jack 22 male 70
'''
#loc[df.index % 2 ==0] 获取行索引可以整除2的行数据
print(df.loc[df.index % 2 ==0])
'''
name age sex score
0 lemon 20 male 100
2 json 23 fmale 95
'''
#iloc[:3,:] 返回前3行所有列的数据
print(df.iloc[:3,:])
'''
name age sex score
0 lemon 20 male 100
1 jack 22 male 70
2 json 23 fmale 95
'''
#iloc[:3,:3] 返回前3行前3列的数据
print(df.iloc[:3,:3])
'''
name age sex
0 lemon 20 male
1 jack 22 male
2 json 23 fmale
'''
#iloc[:3,1:] 返回前3行第二列开始的数据
print(df.iloc[:3,1:])
'''
age sex score
0 20 male 100
1 22 male 70
2 23 fmale 95
'''
网友评论