Pandas有2种数据结构,分别是Series和DataFrame
Series类似表格中的一个列(column),类似于一维数组,可以保存任何数据类型
Series由索引(index)和列组成
提示
索引起到解释、定位数据的作用,Series是Pandas最基础的数据结构
语法
- import pandas as pd
- pd.Series(data, index, dtype, name, copy)
参数说明
data: 一组数据(ndarray类型)
index: 数据索引标签,如果不指定,默认从0开始
dtype: 数据类型,默认会自己判断
name: 设置名称
copy: 拷贝数据,默认为False
实例
- import pandas as pd
- arr = [1, 2, 3]
- res1 = pd.Series(arr)
- # 根据索引值读取数据
- res1[1] # 2
-
- # 指定索引值
- res2 = pd.Series(arr, index = ['x','y','z'])
- # 根据索引值读取数据
- res2['y'] # 2
res1

从上图可知,如果没有指定索引,索引值就从0开始
res2

使用key/value对象,类似字典来创建Series
- import pandas as pd
- dicts = {1: "Odin", 2: "Jack", 3: "Lee"}
- res3 = pd.Series(dicts)
res3

从上图可知,字典的key变成了索引值
如果我们只需要字典中的一部分数据,只需要指定需要数据的索引即可
- import pandas as pd
- dicts = {1: "Odin", 2: "Jack", 3: "Lee"}
- res4 = pd.Series(dicts, index = [1, 2])
res4

设置Series名称参数
- import pandas as pd
- dicts = {1: "Odin", 2: "Jack", 3: "Lee"}
- pd.Series(dicts, index = [1, 2], name='Hudas')

未设置Series名称参数
- import pandas as pd
- dicts = {1: "Odin", 2: "Jack", 3: "Lee"}
- pd.Series(dicts, index = [1, 2])

DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)
DataFrame既有行索引也有列索引,它可以被看做由多个Series组成的字典(共同用一个索引)

DataFrame是Pandas定义的一个二维数据结构
横向的称作行(row),一条数据就是指其中的一行
纵向的称作列(column)或字段,是一条数据的某个值
第一行是表头或者叫字段名,类似于Python字典里的键,代表数据的属性
第一列是索引,就是这行数据所描述的主体,也是这条数据的关键
在一些场景下,表头称为列索引,索引称为行索引
语法
- import pandas as pd
- pd.DataFrame(data, index, columns, dtype, copy)
参数说明
data: 一组数据(ndarray、series, map, lists, dict 等类型)
index: 索引值,或者可以称为行标签
columns: 列标签,默认为 RangeIndex (0, 1, 2, …, n)
dtype: 数据类型
copy: 拷贝数据,默认为 False
2.1 使用列表创建DataFrame
- import pandas as pd
- data = [['Odin',11],['Harry',12],['Lee',13]]
- df1 = pd.DataFrame(data,columns=['Name','Age'],dtype=float)
df1

2.2 使用ndarrays创建DataFrame
- import pandas as pd
- data = {'Name':['Hudas', 'Odin', 'Summer'], 'Age':[20, 21, 22]}
- df2 = pd.DataFrame(data)
df2

2.3 使用字典key/value创建DataFrame
- import pandas as pd
- # 字典的key为列名
- data = [{'a': 1, 'b': 2},{'a': 5, 'b': 10, 'c': 20}]
- df3 = pd.DataFrame(data)
df3

- import pandas as pd
- data1 = {
- "calories": [420, 380, 390],
- "duration": [50, 40, 45]
- }
- df4 = pd.DataFrame(data1, index = ["day1", "day2", "day3"])
df4
