pandas.loc()实践

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37789876/article/details/82788365

loc只能通过index和列名来用!!!
iloc可以通过类似于list的索引(位置)来取
ix可以通过混合提取

df.loc[[1,1,1,4,0,0], 'sign']=1
print(df)
 id       date       city category  age   price  sign

0 1001 2013-01-02 Beijing 100-A 23 1200.0 1.0
1 1002 2013-01-03 SH 100-B 44 NaN 1.0
2 1003 2013-01-04 guangzhou 110-A 54 2133.0 NaN
3 1004 2013-01-05 Shenzhen 110-C 32 5433.0 NaN
4 1005 2013-01-06 shanghai 210-A 34 NaN 1.0
5 1006 2013-01-07 Beijing 130-F 32 4432.0 NaN

df.loc[(df['city'] == 'Beijing') & (df['price'] >= 0), 'sign']=1
print(df)
df.loc[[True,True,True,True,False,True], 'sign']=1
print(df)
 id       date       city category  age   price  sign

0 1001 2013-01-02 Beijing 100-A 23 1200.0 1.0
1 1002 2013-01-03 SH 100-B 44 NaN 1.0
2 1003 2013-01-04 guangzhou 110-A 54 2133.0 1.0
3 1004 2013-01-05 Shenzhen 110-C 32 5433.0 1.0
4 1005 2013-01-06 shanghai 210-A 34 NaN NaN
5 1006 2013-01-07 Beijing 130-F 32 4432.0 1.0
可以通过布尔值或者index或者切片来取,如果为布尔值那么就必须等长,为True行的被取到,index和切片同理。

猜你喜欢

转载自blog.csdn.net/m0_37789876/article/details/82788365