赞
踩
data = {'name':['张三', '李四', '王五', '赵六'],'age':[20, 21, 22, 23], 'gender': [0, 1, 1, 1], 'stature': [165, 189, 178, 160], 'year': [2000, 2002, 2003, 1993]}
df = pd.DataFrame(data)
print (df)
运行结果如下:
name age gender stature year
0 张三 20 0 165 2000
1 李四 21 1 189 2002
2 王五 22 1 178 2003
3 赵六 23 1 160 1993
loc
:按照标签值(列明和行索引取值)来访问,支持单值访问或切片查询,还可以指定返回列变量
# 1. 读取第二行,第二行的名称是"1" df1= df.loc[1] ''' name 李四 age 21 gender 1 stature 189 year 2002 Name: 1, dtype: object ''' # 2. 读取第二列,第二列的列名是 age df2 = df.loc[ : ,"age"] ''' 0 20 1 21 2 22 3 23 Name: age, dtype: int64 ''' # 3. 同时读取某个值,读取行号为2,列名为name的值 df3 = df.loc[2, 'name'] # '王五'
# 读取第1行到第2行,age列到 stature列这个区域内的值
df4 = df.loc[ 1:2, "age":"stature"]
df4
单条件筛选
# 单个条件筛选:读取年龄大于20的人
df5 = df.loc[ df.age > 20]
多条件筛选
# 多个条件筛选:读取年龄大于20的人并且stature大于180的人
df5 = df.loc[(df.age > 20) & (df.stature> 180)]
df5
条件+切片
# 读取年龄大于20的人,且只显示name和stature
df5 = df.loc[ df.age > 20, ['name', 'stature']]
df5
iloc
:通过行索引和列索引位置
(数字索引)来访问,支持单值访问或切片查询
# 1. 读取第二行的值,第一行从0开始 df1= df.iloc[1] ''' name 李四 age 21 gender 1 stature 189 year 2002 Name: 1, dtype: object ''' # 2. 读取第二列,第一列从0开始 df2 = df.iloc[ : , 1] ''' 0 20 1 21 2 22 3 23 Name: age, dtype: int64 ''' # 3. 同时读取某个值,读取第3行,第1列的值。第一列从0开始 df3 = df.iloc[2, 0] # '王五'
# 读取第2、3行,第3、4列
df1 = df.iloc[1:3, 2:4]
df1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。