首页 > 其他 > 详细

DataFrame 行列数据的筛选

时间:2019-02-20 01:14:48      阅读:197      评论:0      收藏:0      [点我收藏+]

一、对DataFrame的认知 
DataFrame的本质是行(index)列(column)索引+多列数据。

技术分享图片

  DataFrame默认索引是序号(0,1,2…),可以理解成位置索引。

  一般我们用id标识不同记录,不会改变index。但为了理解不同特征(列)含义,我们往往会重新指定column

二、对dataframe进行行列数据筛选

import pandas as pd
import numpy as np
from pandas import DataFrame df = DataFrame(np.arange(20).reshape((4,5)),column = list(abcde)) #生成一个DataFrame

  技术分享图片

1.df[]&df. 选取列数据

df.a 
df[[‘a’,’b’]]

2.df.loc[[index],[colunm]] 通过标签选择数据

   不对行进行筛选时,[index]处填 : (不能为空),即df.loc[:,’a’]表示选取a列全部数据。

df.loc[0,’a’] 
df.loc[0:1,[‘a’,’b’]] 
df.loc[[0,2],[‘a’,’c’]]

技术分享图片

3.df.iloc[[index],[colunm]] 通过位置选择数据

  不对行进行筛选时,同df.loc[],即[index]处不能为空。

df.iloc[0,0] 
df.iloc[0:1,1:3] 
df.iloc[[0,2],[1,3]]

技术分享图片

4.df.ix[[index],[column]] 通过标签or位置选择数据

df.ix[]混合了标签和位置选择。需要注意的是,[index]和[column]的框内需要指定同一类的选择。

df.ix[[0:1],[‘a’,3]]

  报错

5.多条件筛选

    原表数据:

技术分享图片

 (1)使用“与”条件进行筛选

df1 = df.loc[(df[现价]>6)&(df[开板] == 0)]
print(df1)

  结果只有2条数据符合要求:

技术分享图片

  (2) 使用“或”条件进行筛选

df2 = df.loc[(df[现价]>10)|(df[连板] >2)]
print(df2)

  则有4条数据符合要求:(分别有2和6符合条件1,而0、1和2符合条件2)

技术分享图片

DataFrame 行列数据的筛选

原文:https://www.cnblogs.com/sxinfo/p/10404211.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!