pandas-Dataframe(取数)

DataFrame

  • DataFrame是什么
  • DataFrame的常用API
  • DataFrame局部数据的API(取数)
    • loc 和iloc(重要)
      • 功能:
      • 区别:
      • df.loc和df.iloc取1行或多行数据
      • df.loc和df.iloc取1列或几列数据
      • df.loc和df.iloc取范围数据 (几行几列)
      • 获取全部行号以及列号
    • df.head 和 df.tail
    • 根据列名查看一列或多列数据

DataFrame是什么

(有行有列的数据就是df)

  • Dataframe简称df、或df数据集
  • df = pd.read_csv(’…/xxx.csv’)`返回的是dataframe对象
  • dataframe对象是一种特殊的数据结构,和excel中的表格、mysql中的表类似,有行有列
  • spark中也有dataframe这种数据结构,二者在如何组织数据这一层面上来说,完全相同

DataFrame的常用API

API:指各种属性、方法、函数;调用他们能够得到我们想要的东西(对象)

  • print(df) 展示全部表数据
  • df.head(n) 展示n行数据,默认展示5行
  • df.shape 获取行列数量
  • df.info() 以列为维度,获取数据表的整体统计情况
    1 每列有多少数据
    2 每列数据是什么样的数据类型,是小数还是整数等待
    3 每列数据中是否存在空值

DataFrame局部数据的API(取数)

loc 和iloc(重要)

功能:

  • 按行取数据
  • 按列取数据
  • 按范围取数据

区别:

  • loc是根据索引值取数据
  • iloc是根据索引序号取数据

df.loc和df.iloc取1行或多行数据

  • df.loc[索引值]:通过行索引的值获取指定一行的数据
  • df.loc[[索引值1, 索引值2, 索引值3, ...]] 通过行索引的值获取指定多行的数据
  • df.iloc[索引序号]:通过索引序号获取指定的一行数据
  • df.iloc[[索引序号1, 索引序号2, 索引序号3, ...]] 通过行索引 的值获取指定多行的数据
  • df.iloc[索引序号1:索引序号6] 返回索引序号1到索引序号5的多行数据;
  • 特别注意:遵循下标范围的左包右闭原则(包含左边,不包含右边

df.loc和df.iloc取1列或几列数据

  • df.loc[:, ['列名1', '列名2', ...]] 冒号表示全部行
  • df.iloc[:, ['列序号1', '列序号2', ...]]

df.loc和df.iloc取范围数据 (几行几列)

  • df.loc[[行索引值1, 行索引值2,......],['列名1','列名2',.....]]
  • df.iloc[[行索引号1,行索引号2,...],['序列号1','序列号2',...]]
  • df.iloc[行索引号m:行索引号n,列序号x:列序号y]
    遵循 左包右闭,获取第m行到第n-1行,第x列到第y-1列的数据

获取全部行号以及列号

  • [i for i in range(df.shape[0])] 返回行号组成的列表
  • [i for i in range(df.shape[1])]

df.head 和 df.tail

  • 都返回的是dataframe对象 ,表中局部的表
  • df.head(n) 从前边拿n行数据,n默认为5
  • df.tail(m) 从最后倒着拿m行数据,m默认也为5
  • n和m都是索引

根据列名查看一列或多列数据

  • 根据列名查看一列数据
df[['列名']] # 返回df对象
df['列名'] # 返回series对象
  • 根据列名查看多列数据
df[['列名1','列名2','列名3', ...]] # 返回df对象

你可能感兴趣的:(pandas,pandas)