数据科学包4-pandas核心数据结构
文章目录
pandas基础之核心数据结构
1.series
Series 是一维带标签的数组,数组里可以放任意的数据(整数,浮点数,字符串,Python Object)。
其基本的创建函数是:s = pd.Series(data, index=index)
其中 index 是一个列表,用来作为数据的标签。
data 可以是不同的数据类型:
- Python 字典
- ndarray 对象
- 一个标量值,如 5
1)从ndarry创建
2)从字典创建
3)从标量创建
series特性
Series 是类 ndarray 对象
索引方式、运算方式与numpy相同,
Series 是类字典对象
索引、赋值与字典类似
标签对齐操作
name属性
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)从字典创建
2)从结构化数据中创建
3)从字典创建
4)从元祖字典创建
了解其创建的原理,实际应用中,会通过数据清洗的方式,把数据整理成方便 Pandas 导入且可读性好的格式。最后再通过 reindex/groupby 等方式转换成复杂数据结构
5)从series创建
DataFrame的特性
1)列选择/增加/删除
2)使用 assign() 方法来插入新列
方便地使用 methd chains 的方法来实现
3)索引和选择
对应的操作,语法和返回结果
- 选择一列 -> df[col] -> Series
- 根据行标签选择一行 -> df.loc[label] -> Series
- 根据行位置选择一行 -> df.iloc[label] -> Series
- 选择多行 -> df[5:10] -> DataFrame
-
根据布尔向量选择多行 -> df[bool_vector] -> DataFrame
与series索引[[1,3,4]] 一个道理
4)数据对齐
DataFrame 在进行数据计算时,会自动按行和列进行数据对齐。最终的计算结果会合并两个 DataFrame。
5)使用 numpy 函数
Pandas 与 numpy 在核心数据结构上是完全兼容的
3.Panel
Panel 是三维带标签的数组。实际上,Pandas 的名称由来就是由 Panel 演进的,即 pan(el)-da(ta)-s。Panel 比较少用,但依然是最重要的基础数据结构之一。
三个坐标轴:
items: 坐标轴 0,索引对应的元素是一个 DataFrame
major_axis: 坐标轴 1, DataFrame 里的行标签
minor_axis: 坐标轴 2, DataFrame 里的列标签