1.Pandas数据结构

模块导入方法

import module_name(模块名)
  1. 直接import具体的模块名
  2. 引用方法:模块名.函数名
  3. import module_name(模块名) as 别名
  4. 引用方法:别名.函数名

from module1(模块名) import module2(功能名)
  1. 从一个较大的模块中import一个较小的模块
  2. 引用方法:直接功能名
  3. from module1(模块名) import module2(功能名) as 别名
  4. 引用方法:直接拿别名来用

1.1 Series数据结构

1.1.1 Series是什么

Series是一种类似于一维数组的对象,由一组数据及一组与之相关的数据标签(即索引)组成。

1.1.2 创建一个Series

通过Series()方法传入对象即可

  1. import pandas as pd
  2. s1 = pd.Series(["a","b","c","d"])
  3. s1
  4. 0 a
  5. 1 b
  6. 2 c
  7. 3 d
  8. dtype: object

如果只是传入一个列表不指定数据标签(索引),那么Series会默认从0开始的数做数据标签。

可以通过设置index参数来自定义索引。

  1. import pandas as pd
  2. s2 = pd.Series([1,2,3,4],index=["a","b","c","d"])
  3. s2
  4. a 1
  5. b 2
  6. c 3
  7. d 4
  8. dtype: int64

也可以将数据与数据标签以key:value(字典)的形式传入,这样字典的key就是数据标签,

value就是数据值。

  1. import pandas as pd
  2. s3 = pd.Series({"a":5,"b":6,"c":7,"d":8})
  3. s3
  4. a 5
  5. b 6
  6. c 7
  7. d 8
  8. dtype: int64

1.1.3 利用index方法获取Series的索引

直接使用index方法就可以获取Series的索引值

  1. import pandas as pd
  2. s2 = pd.Series([1,2,3,4],index=["a","b","c","d"])
  3. s2.index
  4. Index(['a', 'b', 'c', 'd'], dtype='object')

1.1.4 利用Values方法获取Series的值
  1. import pandas as pd
  2. s2 = pd.Series([1,2,3,4],index=["a","b","c","d"])
  3. s2.values
  4. array([1, 2, 3, 4], dtype=int64)

1.2 DataFrame表格型数据结构

1.2.1 DataFrame是什么?

DataFrame是由一组数据与一对索引(行索引和列索引)组成的表格型数据结构。

1.2.2 创建一个DataFrame

通过DataFrame()方法传入不同的对象即可实现

传入一个列表

传入一个列表的实现如下所示:

1.Pandas数据结构 - 图1

只传入一个单一列表是,该列表的值会显示成一列,且行和列都是从0开始的默认索引。

传入一个嵌套列表如下所示:

1.Pandas数据结构 - 图2

当传入一个嵌套列表时,会根据嵌套列表数显示成多列数据,行、列索引同样是从0开始的默认索引。列表里面嵌套的列表页可以换成元组。

1.Pandas数据结构 - 图3

指定行、列索引

通过设置columns参数自定义列索引,设置index参数自定义行索引

  1. import pandas as pd
  2. #设置列索引
  3. df3 = pd.DataFrame([["a","A"],["b","B"],["c","C"],["d","D"]],columns = ["小写","大写"])
  4. df3

1.Pandas数据结构 - 图4

  1. import pandas as pd
  2. #设置列索引
  3. df4 = pd.DataFrame([["a","A"],["b","B"],["c","C"],["d","D"]],index = ["一","二","三","四"])
  4. df4

1.Pandas数据结构 - 图5

  1. import pandas as pd
  2. #行、列索引同时设置
  3. df5 = pd.DataFrame([["a","A"],["b","B"],["c","C"],["d","D"]],columns = ["小写","大写"],index = ["一","二","三","四"])
  4. df5

1.Pandas数据结构 - 图6

传入一个字典

直接以字典的形式传入DataFrame时,字典的key值就相当于列索引, 这是时候如果没有设置行索引,行索引还是从0开始的默认索引,同样可以使用index参数自定义行索引。

import pandas as pd
data = {"小写":["a","b","c","d"],"大写":["A","B","C","D"]}
df6 = pd.DataFrame(data,index = ["一","二","三","四"])
df6

1.Pandas数据结构 - 图7

1.2.3 获取DataFrame的行、列索引

利用columns方法获取DataFrame的列索引

import pandas as pd
#设置列索引
df4 = pd.DataFrame([["a","A"],["b","B"],["c","C"],["d","D"]],index = ["一","二","三","四"])
df4.columns
RangeIndex(start=0, stop=2, step=1)

利用index方法获取获取DataFrame的行索引

import pandas as pd
#设置列索引
df4 = pd.DataFrame([["a","A"],["b","B"],["c","C"],["d","D"]],index = ["一","二","三","四"])
df4.index
Index(['一', '二', '三', '四'], dtype='object')