多个索引修改index_clo属性的赋值
下面这一行读取,是将前两列作为行索引,index_col=[0,1]
df=pd.read_excel('my_excel.xlsx',header=0, sheet_name=0,encoding='gbk',index_col=[0,1])
'''
sex add
名字 age
王贵 24 男 中国
狗子 35 男 非洲
黑蛋 23 女 南美
小五 5 男 英国
李四 6 男 苏兰
小红 4 女 芬兰
王贵 22 男 巴黎
狗子 22 男 法国
'''
查询数据
1,使用df.loc[A,B]函数查询某一个条件时,将两列中每个索引放入一个元组内作为A的值,df.loc[(索引1,索引2),列索引]
print(df.loc[('王贵',24),:])
'''
sex 男
add 中国
Name: (王贵, 24), dtype: object
'''
2,使用多个loc[ ]分多个索引查询,df.loc[索引1].loc[索引2]
print(df.loc['王贵'].loc[24])
'''
sex 男
add 中国
Name: 24, dtype: object
'''
3,对于每部分索引加中括号和不加有一定区别
print(df.loc[('王贵'),'sex'])
print('?'*20)
print(df.loc[('王贵'),['sex']])
'''
age
24 男
22 男
Name: sex, dtype: object
????????????????????
sex
age
24 男
22 男
'''
4,想在一行索引中选择多个值,可以使用列表代替该索引位置
print(df.loc[(['狗子','王贵'],22),['sex','add']])
''''狗子','王贵'都是name里的值,是第一个索引;22是age列的值是二个索引
sex add
名字 age
王贵 22 男 巴黎
狗子 22 男 法国
'''