数据分析教学 —— pandas数据结构.docx
文本预览下载声明
PAGE 15
数据分析教学 —— pandas数据结构
一、Pandas数据结构
Pandas处理有三种数据结构形式:Series,DataFrame, index。Series和DataFrame是现在常用的两种数据类型。
1. Series
Series和一维数组很像,只是它的每一个值都有一个索引,输出显示时索引在左,值在右。
pandas.Series( data, index=index, dtype, copy)
data: 可以是多种类型,如列表,字典,标量等
index: 索引值必须是唯一可散列的,与数据长度相同,如果没有索引被传递,则默认为**np.arrange(n)**
dtype: 设置数据类型
copy: 复制数据,默认为Flase
1)创建一个空的序列
import numpy as np
import pandas as pd
# 利用Series序列构造函数
# 创建一个空序列
s = pd.Series()
print(s)
输出:Series([], dtype: float64)
2)从ndarray创建一个序列:
如果数据是ndarray,则传递的索引必须具有相同的长度。如果没有索引被传递,那么默认情况下,索引将是 range(n) ,其中 n 是数组长度,即[0,1,2,3 ...。 范围(LEN(阵列)) - 1]。
# 使用ndarray创建一个序列
data = np.array([a,b,c,d])
s = pd.Series(data)
print(s)
输出:
0 a
1 b
2 c
3 d
dtype: object
不给赋索引值时,默认的索引范围为1~(len(data)-1)
3)传入索引值:
# 传入索引值
data = np.array([a,b,c,d])
s = pd.Series(data,index=[12, 13, 14,15])
print(s)
输出:
12 a
13 b
14 c
15 d
dtype: object
4)从字典创建一个序列:
当所创建的索引中,未给赋值时,也即缺少元素是,用NAN填充
data = {a:0,b:1,c:2.}
s= pd.Series(data, index=[b,a,c,d])
print(s)
输出:
b 1.0
a 0.0
c 2.0
d NaN
dtype: float64
5)用标量创建一个序列:
# 从标量创建一个序列
s= pd.Series(5, index=[a,b,c,d])
print(s)
输出:
a 5
b 5
c 5
d 5
dtype: int64
6)检索数据:
data = [1, 2, 3, 4]
s= pd.Series(data, index=[a,b,c,d])
print(s[d]) # 检索索引为d的数据
print(s[-3:]) # 检索后3个数据
输出:
4
b 2
c 3
d 4
dtype: int64
2. DataFrame
DataFrame是一个2维标签的数据结构,它的列可以存在不同的类型。你可以把它简单的想成Excel表格或SQL Table,或者是包含字典类型的Series。它是最常用的Pandas对象。和Series一样,DataFrame接受许多不同的类型输入。
pandas.DataFrame( data, index, columns, dtype)
data: 包含一维数组,列表对象, 或者是Series对象的字典对象
index :对于行标签,如果没有索引被传递,则要用于结果帧的索引是可选缺省值np.arrange(n)。
columns: 对于列标签,可选的默认语法是 - np.arrange(n)。这只有在没有通过索引的情况下才是正确的。
dtype: 每列的数据类型
1) 创建一个空的DataFrame
# 创建一个空的DataFrame
import pandas as pd
df = pd.DataFrame()
print(df)
输出:
Empty DataFrame
Columns: []
Index: []
2) 从列表中创建一个DataFrame
DateFrame可以使用单个列表或者列表列表创建
data = [1, 2, 3,4, 5]
df = pd.DataFrame(data)
print(df)
输出:
0
0 1
1 2
2 3
3 4
4 5
data = [[Al, 9],[Bl, 8],[Cl, 10]]
# dt
显示全部