Python数学建模与分析——Pandas速成+数据理解

个人学习笔记,课程为Python数学建模与分析:基础入门、数据处理、算法编程、高级绘图、建模实战!

目录

一、Pandas速成

1.Series

2.Dataframe

二、数据导入

1. csv

2.Pandas导入

3.Numpy导入

三、数据理解

1.查看数据

2.数据维度

3.数据属性和类型

4.描述性统计

5.数据分组分布(适用于分类算法)

6.数据属性相关性

7.数据分布分析

四、数据可视化

1.单一图表

(1)直方图

(2)密度图

(3)箱线图

2.多重图表

(1)相关矩阵图

(2)散点矩阵图


一、Pandas速成

1.Series

#series:一维数组: list
import numpy as np
import pandas as pd
myarray =np.array([1,2,3])
index = ['a','b','c']
myseries = pd.Series(myarray, index=index)
print(myseries)
print('series的第一个元素')
print(myseries[0])
print('series的c index的元素:')
print(myseries['c'])

2.Dataframe

#Dataframe:可以指定行和列的二维数组
myarray = np.array([[1,2,3], [2,3,4], [3,4,5]])
rowindex = ['row1','row2','row3']
colname = ['col1','col2','col3']
mydataframe = pd.DataFrame(data=myarray, index=rowindex, columns=colname)
print(mydataframe)
print('访问col3的数据')
print(mydataframe['col3'])

二、数据导入

1. csv

特征: 以逗号分割 文件头:字段属性

#csv特征: 以逗号分割 文件头:字段属性
from csv import reader
import numpy as np
filename='pima.csv'
with open(filename, 'rt') as raw_data:
    readers = reader(raw_data, delimiter=',')
    x = list(readers)
    data = np.array(x).astype('float')
    print(data.shape)

2.Pandas导入

#pandas导入
from pandas import read_csv
filename = 'pima.csv'
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(filename, names=names)
print(data.shape)

3.Numpy导入

#numpy导入
from numpy import loadtxt
filename = 'pima.csv'
with open(filename, 'rt') as raw_data:
    data = loadtxt(raw_data, delimiter=',')
    print(data.shape)

三、数据理解

1.查看数据

from pandas import read_csv
filename = 'pima.csv'
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(filename, names=names)
head = data.head(10)
#查看数据
print(head)

2.数据维度

#数据的维度
print(data.shape)

3.数据属性和类型

#数据的属性和类型
print(data.dtypes)

4.描述性统计

#描述性统计
print(data.describe())

5.数据分组分布(适用于分类算法)

#数据的分布
print(data.groupby('class').size())

6.数据属性相关性

#数据的相关性:皮尔逊相关系数
print(data.corr(method='pearson'))

7.数据分布分析

#数据的分布分析:高斯分布
print(data.skew())

四、数据可视化

1.单一图表

(1)直方图

#直方图
from pandas import read_csv
import matplotlib.pyplot as plt
filename = 'pima.csv'
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(filename, names=names)
data.hist()
plt.show()

(2)密度图

#密度图
from pandas import read_csv
import matplotlib.pyplot as plt
filename = 'pima.csv'
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(filename, names=names)
data.plot(kind='density',subplots=True,layout=(3,3),sharex=False)
plt.show()

(3)箱线图

#箱线图
from pandas import read_csv
import matplotlib.pyplot as plt
filename = 'pima.csv'
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(filename, names=names)
data.plot(kind='box',subplots=True,layout=(3,3),sharex=False)
plt.show()

2.多重图表

(1)相关矩阵图

#相关矩阵图
from pandas import read_csv
import numpy as np
import matplotlib.pyplot as plt
filename = 'pima.csv'
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(filename, names=names)
correlations = data.corr()
fig = plt.figure()
ax = fig.add_subplot(111)
cax = ax.matshow(correlations,vmin=-1,vmax=1)
fig.colorbar(cax)
ticks = np.arange(0,9,1)
ax.set_xticks(ticks)
ax.set_yticks(ticks)
ax.set_xticklabels(names)
ax.set_yticklabels(names)
plt.show()

(2)散点矩阵图

#散点矩阵图
from pandas import read_csv
from pandas.plotting import scatter_matrix
import numpy as np
import matplotlib.pyplot as plt
filename = 'pima.csv'
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(filename, names=names)
scatter_matrix(data)
plt.show()

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值