tomato_guo的博客

python;数据挖掘;机器学习;深度学习

pandas中iloc,loc取数据差别及按条件取值

Dataframe使用loc取某几行几列的数据:

print(df.loc[0:4,['item_price_level','item_sales_level','item_collected_level','item_pv_level']])

结果如下,取了index为0到4的五行四列数据。

        item_price_level  item_sales_level  item_collected_level  item_pv_level
0                 3                 3                     4             14
1                 3                 3                     4             14
2                 3                 3                     4             14
3                 3                 3                     4             14
4                 3                 3                     4             14

而使用iloc,如下所示:

print(df.iloc[0:4,6:9])
结果如下,取得是index为0到3四行,以及第6到8列(从0列开始)3列数据。

      item_price_level  item_sales_level  item_collected_level
0                 3                 3                     4
1                 3                 3                     4
2                 3                 3                     4
3                 3                 3                     4

另外loc可以按条件取数据:

print(df.loc[df.item_price_level==0,:])
print(df.loc[df[item_price_level]==0,:])

上面两条语句效果是一样的,都是取item_price_level为0的所有数据。可以把冒号改成几列列名,只取满足条件的某几列数据:

print(df.loc[df['item_price_level']==0,['item_price_level','item_sales_level']])

结果前两行如下:

           item_price_level  item_sales_level
129141                 0                10
129142                 0                10

阅读更多
上一篇python list列表中删除多个重复元素
下一篇pandas使用drop_duplicates去除DataFrame重复项参数详解
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭