x=np.linspace(0,10,1000) #设置自变量格式 其中linspace(0,10,1000)表示x由平均分布在0—10之间的1000个点所组成
y=np.sin(x)+1 #设置因变量y
z=np.cos(x**2)+1 #设置另一因变量z
plt.figure(figsize=(8,4)) #设置图像大小
plt.plot(x,y,label="sinx+1",color='red',linewidth=2) #作图(x,y),设置标签格式
plt.plot(x,z,label="cosx^2+1") #作图(x,z)
plt.xlabel('Time(s)') #设置x轴名称
plt.ylabel('Volt') #设置y轴名称
plt.title('A simple Example') #设置表格标题
plt.ylim(0,2.2) #显示的y轴范围
plt.legend() #显示图例
plt.show() #显示作图结果
运行上述代码,可以得到如���图:(注意:该图可以保存为图片格式,保存的图片质量几乎满足各种版本要求)
4.pandas 库:是包含高级的数据结构和精巧的分析工具,支持SQL的数据增、删、改、查操作,并包含很多处理函数。
(1)Pandas的数据结构series:
Series 由一组数据(各种Numpy数据类型)以及一组与之有关的数据标签(即索引)组成。它的字符串的表现形式为:索引左边 值右边
例1. 创建Series对象:
from pandas import Series
obj_list=[1,2,3,4,5]
obj_tuple=(1.2,2.5,3.3,4.8,5.4)
obj_dict={'Tom':[16,'boy'],'Max':[12,'boy'],'Julia':[18,'girl']}
series_list=Series(obj_list)
series_tuple=Series(obj_tuple,index=['a','b','c','d','e'])
series_dict=Series(obj_dict)
print("(1)通过list建立Series:")
print(series_list)
print('(2)通过tuple建立series:')
print(series_tuple)
print("(3)通过dict建立series:")
print(series_dict)
运行结果为:
(1)通过list建立Series:
0 1 #注意:当没有给出索引值得时候,series从0开始自动创建索引
1 2
2 3
3 4
4 5
dtype: int64
(2)通过tuple建立series:
a 1.2
b 2.5
c 3.3
d 4.8
e 5.4 dtype: float64
(3)通过dict建立series:
Tom [16, boy]
Max [12, boy]
Julia [18, girl] dtype: object
(2)Pandas的数据结构DataFrame
DataFrame 是pandas的主要数据结构之一,是一种带有二维标签的二维对象,DataFrame结构的数据有一个行索引和列索引,且每一行的数据格式可能是不同的。
例:DataFrame的创建和一些基本操作:
from pandas import DataFrame #从pandas库中引用DataFrame
from pandas import Series #从pandas库中引用series
obj={'name':['Tom','Peter','Lucy','Max','Anna'],'age':['17','23','44','27','36'],
'status':['student','student','doctor','clerk','performer']}
series_dict1=Series([1,2,3,4,5],index=['a','b','c','d','e'])
series_dict2=Series([6,7,8,9,10],index=['a','b','c','d','e'])
print(series_dict2)
df_obj=DataFrame(obj)#创建dataframe对象
print(df_obj)
df_obj2=DataFrame([series_dict1,series_dict2])
print(df_obj2)
print('---查看前几行数据,默认5行---')
print(df_obj.head())
print("-----提取一列-----")
print(df_obj.age)
print("------添加列-----")
df_obj['gender']=['m','m','f','m','f'] #直接用键来添加
print(df_obj)
print('-----删除列-----')
del df_obj['status']
print(df_obj)
print("-----转置-----")
print(df_obj2.T)
运行结果:
a 6 #返回series_dict2
b 7
c 8
d 9
e 10
dtype: int64
name age status #dataframe数据结构
0 Tom 17 student
1 Peter 23 student
2 Lucy 44 doctor
3 Max 27 clerk
4 Anna 36 performer
a b c d e
0 1 2 3 4 5
1 6 7 8 9 10
--查看前几行数据,默认5行---
name age status
0 Tom 17 student
1 Peter 23 student
2 Lucy 44 doctor
3 Max 27 clerk
4 Anna 36 performer
-----提取一列-----
0 17
1 23
2 44
3 27
4 36
Name: age, dtype: object
------添加列-----
name age status gender
0 Tom 17 student m
1 Peter 23 student m
2 Lucy 44 doctor f
3 Max 27 clerk m
4 Anna 36 performer f
-----删除列-----
name age gender
0 Tom 17 m
1 Peter 23 m
2 Lucy 44 f
3 Max 27 m
4 Anna 36 f
-----转置-----
0 1
a 1 6
b 2 7
c 3 8
d 4 9