【python】python编程基础

python 原生数据结构

元组 Tuple

一个元素不可修改的线性数据结构,数据项放在 () 内。

(1)元组的创建形式

tup1=("manhman","guoguo",1988,2000)
tup2=(1,)
tup3="a","b","c","d"
tup4=()

seq=['a','b','c']
tup5=tuple(seq)

在这里插入图片描述

其中,元组一旦创建就不能修改其中某一个元素的信息

(2)元组的查询

可以通过下标访问到元组中的每个元素
在这里插入图片描述

(3)元组的删除

元组一旦创建成功之后,元组内的数据是不可被修改的,要删除元组中某个元素也是不被允许的,只能整体删除元组

在这里插入图片描述

(4)元组的链接

可以将多个元组合并为一个元组
在这里插入图片描述

也可以将一个元组复制多份
在这里插入图片描述
(5)tuple 的特殊操作

计算元组长度,以及最大最小值:
在这里插入图片描述
元组内元素类型的转换:

在这里插入图片描述

列表 list

一个有序且可变长度的线性数据结构,列表项放在 [] 内。

(1)列表的创建
在这里插入图片描述
(2)列表的查询

在这里插入图片描述
(3)列表增加元素

在这里插入图片描述

(4)列表的删除

在这里插入图片描述

(5)列表的修改

在这里插入图片描述

(6)列表特殊操作
在这里插入图片描述
同样也可以进行强制类型转换

在这里插入图片描述

集合 set

一个元素无序且元素不可重复的数据结构,集合中的元素放在 {} 内。

(1)集合的创建

在这里插入图片描述

(2)集合查询
在这里插入图片描述
(3)集合增加

add 将整个元素信息直接进行插入,若要插入的元素存在则无意义;
update 是将元素一个一个进行插入
在这里插入图片描述

(4)集合删除

remove() 函数可以删除指定元素,若要删除元素不存在则会报错;
discard() 函数可以删除指定元素,若元素不存在不报错;
pop() 函数是随机删除一个元素;
clear() 将整个集合进行清空

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(5)集合特殊操作

在这里插入图片描述

在这里插入图片描述

字典 dictionary

一组具有多个键值对组成的数据结构,形式为:{键1:值1, 键2:值2, …}

(1)创建字典
在这里插入图片描述

(2)字典查询
在这里插入图片描述

(3)字典增加
在这里插入图片描述

(4)字典删除
在这里插入图片描述
(5)字典的修改
在这里插入图片描述

NumPy 数据结构

数组 Ndarray

引入 Numpy 包,将其命名为 np
import Numpy as np

(1)数组的创建
在这里插入图片描述
(2)数组查询

在这里插入图片描述

在这里插入图片描述

(3)数组增加

在这里插入图片描述
(4)数组删除

在这里插入图片描述
(5)数组修改

在这里插入图片描述

(6)特殊操作

数组的转置

在这里插入图片描述

数组的堆叠

在这里插入图片描述

矩阵 Matrix

(1)矩阵创建

在这里插入图片描述
在这里插入图片描述

(2)矩阵查询

在这里插入图片描述

在这里插入图片描述

(3)矩阵增加

在这里插入图片描述

(4)矩阵删除

在这里插入图片描述

(5)矩阵乘法

在这里插入图片描述

(6)矩阵转置,求逆

在这里插入图片描述

(7)矩阵的特征向量,特征值

在这里插入图片描述

Pandas 数据结构

pandas 包中的数据结构主要包含 序列(Series)、(DataFrame)

import pandas as pd

序列 Series (一维)

(1)创建序列

在这里插入图片描述
在这里插入图片描述

(2)序列查询

在这里插入图片描述

(3)序列追加

在这里插入图片描述

(4)序列删除

在这里插入图片描述

(5)序列修改

在这里插入图片描述

(6)特殊操作

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

创建时间序列

在这里插入图片描述

数据框 DataFrame (二维)

(1)创建

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
(2)查询

在这里插入图片描述
(3)增加操作

在这里插入图片描述

在这里插入图片描述

(4)删除操作

在这里插入图片描述

(5)合并操作

dic1={'name':['liuli','tony','jesper'],'no':['001','002','003'],'age':[12,13,14]}
dir1=pd.DataFrame(dic1)
print('\ndir1:\n',dir1)

dic2={'new_chat':['should','may','substr']}
dir2=pd.Series(dic2)
print('\ndir2:\n',dir2)

dir3=pd.concat([dir1,dir2],axis=1)   # 列合并
print('\n合并之后:\n',dir3)

dic1={'name':['liuli','tony','jesper'],'no':['001','002','003'],'age':[12,13,14]}
dir1=pd.DataFrame(dic1)
print('\ndir1:\n',dir1)

dic2={'name':['wangwa'],'no':['004'],'age':[35]}
dir2=pd.DataFrame(dic2)
print(dir2)

dir3=pd.concat([dir1,dir2],axis=0,ignore_index=True)   # 行合并
print('\n合并之后:\n',dir3)

在这里插入图片描述

Matplotlib 数据可视化

绘制饼图

plt.pie()


import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

# 使用 pandas 包内部读取数据文件
sdata=pd.read_csv('./sdata.csv',encoding='utf-8',index_col=0)
print(sdata.head())          # 展示前五行数据

plt.rcParams['font.sans-serif']='SimHei'  # 设置中文字体
plt.rcParams['axes.unicode_minus']=False   # 正常显示负号
plt.figure(figsize=(5,5))  # 窗口大小
plt.title('2018年5月21日~29日成交量饼图')

label=(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35)

plt.pie(sdata.volume,labels=label)   # 饼图
plt.grid(True)
plt.show()   # 展示图形

在这里插入图片描述

绘制折线图

plt.plot()

#折线图
plt.plot(sdata.open,'r-',marker='o',label='open')
plt.plot(sdata.high,'b--',marker='*',label='high')
plt.plot(sdata.close,'g',marker='^',label='close')

plt.legend(loc=0)   # 设置左上角标签
plt.grid(True)
plt.xlabel('index')
plt.ylabel('value')
plt.title('Sdata Trend')
plt.show()

在这里插入图片描述

绘制直方图

plt.bar()

# 直方图
label=(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35)
plt.bar(label,sdata.volume,color='g',width=0.5)
plt.grid(True)
plt.xlabel('index')
plt.ylabel('volume')
plt.title('2018.5.21~2018.5.29')
plt.show()

在这里插入图片描述

绘制散点图

plt.scatter

# 散点图
label=(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35)
plt.scatter(label,sdata.low,marker='o')
plt.show()

在这里插入图片描述

绘制箱型图

plt.boxplot()


#箱型图
plt.boxplot((sdata.open,sdata.high,sdata.close),labels=('open','high','close'))
plt.show()

在这里插入图片描述
箱型图,从下往上分别代表数据的最小值,25%值区间,50%值区间,75%值区间,以及数据的最大值

使用 DataFrame 绘图

折线图

# DataFrame 绘图-----折线图
# 随机生成一个 10*3 的DataFrame 数据框,时间范围在 1~10
plot_df=pd.DataFrame(np.random.randint(1,10,30).reshape(10,3), columns=list('abc'))
plot_df.head()

plot_df.plot(subplots=True,figsize=(5,5))
plt.show()

在这里插入图片描述

横柱形图

# DataFrame 绘图----横柱形图
plot_df.plot(kind='barh')
plt.show()

在这里插入图片描述

柱形图

# DataFrame绘图 - ---横柱形图
plot_df.plot(kind='bar',stacked=True)
plt.show()

在这里插入图片描述

面积图

# DataFrame绘图 - ---面积图
plot_df.plot(kind='area')
plt.show()

在这里插入图片描述

散点图

# DataFrame绘图 - ---散点图
plot_df.plot('a','b',kind='scatter')
plt.show()

在这里插入图片描述

饼图

# DataFrame绘图 - ---饼图
plot_df['a'].plot(kind='pie')
plt.show()

在这里插入图片描述

二维直方图

# DataFrame绘图 - ---二维直方图
plot_df2=pd.DataFrame(np.random.randn(1000,2),columns=['a','b'])
plot_df2.plot.hexbin(x='a',y='b',gridsize=25)
plot_df2.head()   # 展示前五行数据
plt.show()

在这里插入图片描述

二维直方图可以想象为俯视的直方图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值