数据科学包4-pandas核心数据结构

pandas基础之核心数据结构

1.series

Series 是一维带标签的数组,数组里可以放任意的数据(整数,浮点数,字符串,Python Object)。
基本的创建函数是:s = pd.Series(data, index=index)
其中 index 是一个列表,用来作为数据的标签
data 可以是不同的数据类型:

  • Python 字典
  • ndarray 对象
  • 一个标量值,如 5

1)从ndarry创建

数据科学包4-pandas核心数据结构数据科学包4-pandas核心数据结构

2)从字典创建

数据科学包4-pandas核心数据结构

3)从标量创建

数据科学包4-pandas核心数据结构

series特性

Series 是类 ndarray 对象

索引方式、运算方式与numpy相同,
数据科学包4-pandas核心数据结构
数据科学包4-pandas核心数据结构

Series 是类字典对象

索引、赋值与字典类似
数据科学包4-pandas核心数据结构
数据科学包4-pandas核心数据结构

标签对齐操作

数据科学包4-pandas核心数据结构

name属性

数据科学包4-pandas核心数据结构

2.DataFrame

DataFrame 是二维带行标签和列标签的数组。可以把 DataFrame 想你成一个 Excel 表格或一个 SQL 数据库的表格,还可以相像成是一个 Series 对象字典。它是 Pandas 里最常用的数据结构。

创建 DataFrame 的基本格式是:
df = pd.DataFrame(data, index=index, columns=columns)
其中 index 是行标签,columns 是列标签,
data 可以是下面的数据:

  • 由一维 numpy 数组,list,Series 构成的字典
  • 二维 numpy 数组
  • 一个 Series
  • 另外的 DataFrame 对象

1)从字典创建

数据科学包4-pandas核心数据结构
数据科学包4-pandas核心数据结构
数据科学包4-pandas核心数据结构

2)从结构化数据中创建

数据科学包4-pandas核心数据结构

3)从字典创建

数据科学包4-pandas核心数据结构

4)从元祖字典创建

了解其创建的原理,实际应用中,会通过数据清洗的方式,把数据整理成方便 Pandas 导入且可读性好的格式。最后再通过 reindex/groupby 等方式转换成复杂数据结构
数据科学包4-pandas核心数据结构

5)从series创建

数据科学包4-pandas核心数据结构

DataFrame的特性

1)列选择/增加/删除

数据科学包4-pandas核心数据结构

数据科学包4-pandas核心数据结构
数据科学包4-pandas核心数据结构
数据科学包4-pandas核心数据结构
数据科学包4-pandas核心数据结构

2)使用 assign() 方法来插入新列

方便地使用 methd chains 的方法来实现
数据科学包4-pandas核心数据结构
数据科学包4-pandas核心数据结构

3)索引和选择

对应的操作,语法和返回结果

  • 选择一列 -> df[col] -> Series
  • 根据行标签选择一行 -> df.loc[label] -> Series
  • 根据行位置选择一行 -> df.iloc[label] -> Series
  • 选择多行 -> df[5:10] -> DataFrame
  • 根据布尔向量选择多行 -> df[bool_vector] -> DataFrame
    数据科学包4-pandas核心数据结构
    数据科学包4-pandas核心数据结构
    与series索引[[1,3,4]] 一个道理
    数据科学包4-pandas核心数据结构

4)数据对齐

DataFrame 在进行数据计算时,会自动按行和列进行数据对齐。最终的计算结果会合并两个 DataFrame。
数据科学包4-pandas核心数据结构
数据科学包4-pandas核心数据结构
数据科学包4-pandas核心数据结构

5)使用 numpy 函数

Pandas 与 numpy 在核心数据结构上是完全兼容的
数据科学包4-pandas核心数据结构
数据科学包4-pandas核心数据结构
数据科学包4-pandas核心数据结构

3.Panel

Panel 是三维带标签的数组。实际上,Pandas 的名称由来就是由 Panel 演进的,即 pan(el)-da(ta)-s。Panel 比较少用,但依然是最重要的基础数据结构之一。
三个坐标轴:
items: 坐标轴 0,索引对应的元素是一个 DataFrame
major_axis: 坐标轴 1, DataFrame 里的行标签
minor_axis: 坐标轴 2, DataFrame 里的列标签
数据科学包4-pandas核心数据结构
数据科学包4-pandas核心数据结构
数据科学包4-pandas核心数据结构