配置环境
python3安装教程 windows pandas安装(windows)
按下Win (一般为键盘左下角第3个键) + R 输入 cmd, 并按下键盘中的 Enter 键 输入 pip install pandas -i https://pypi.douban.com/simple/ 并按下键盘中的Enter 键 安装完成后, 就可以编写 python 代码对excel进行操作啦!
数据结构
DataFrame: 一种类似于二维数组的数据结构, 形式和常用属性如下:
import pandas as pd
path = r'C:\Users\LENOVO\Desktop\test.xlsx'
dataframe = pd. read_excel( path)
print ( dataframe)
"""
数据格式如下:
id name 性别
0 1 小明 男
1 2 小红 女
2 3 小马 女
3 4 小李 男
# 数据常用属性:
print(dataframe.shape) # 查看数据的行和列数
print(dataframe.info) # 查看datafram 中各列的 数据类型(int, float, datatime, string)
print(dataframe.columns) # 查看 datafram 中的列索引
"""
读取 excel文件为DataFrame
import pandas as pd
path = r'C:\Users\LENOVO\Desktop\test.xlsx'
dataframe = pd. read_excel( path)
将DataFram写入 excel 文件
import pandas as pd
path = r'C:test.xlsx'
dataframe = pd. read_excel( path)
new_path = r'C:\Users\LENOVO\Desktop\write_path.xlsx'
dataframe. to_excel( new_path)
DataFrame 常用操作方式
读取某一列的全部元素
df = pd. read_excel( 'test.xlsx' )
df[ 'cosl' ]
读取某一行位置的元素
df = pd. read_excel( 'test.xlsx' )
df. loc[ 'row' ]
筛选某一列, 一行中的元素 自一下起省略 df 的初始化, 初始化方式同上
df[ df[ 'col' ] < 200 & df[ 'col2' ] > 2000 ]
"""
使用 | & 对数据进行条件筛选, 上一行用于筛选出 df 中 名为 col 列的数据小于 200
且 名为 col2的列的数据小于 2000 的所有数据.
"""
聚集函数
"""
需知, 对于 excel 同一列中的数据数据类型通常相同,
使用rank()方法来计算某一列中的 平均值, 最大值, 最小值,
"""
df = df[ 'col' ] """注意: 这里的 df 是指某一列的数据而不是全部数据"""
df. mean( )
df. max ( )
df. min ( )
df. median( )
df. mode( )
df. var( )
df. std( )
df. quantile( 0.25 / 0.5 / 0.7 / 1 )
替换, 排序, 删除, 划分, 插入
"""1. 替换"""
df[ < col> ] . replace( 240 , 33 )
df. replace( np. NAN, 0 )
df. replace( [ 240 , 260 , 280 ] , 33 )
df. replace( { 240 : 33 , 260 : 34 , 280 : 35 } )
"""2. 排序"""
df. sort_values( by = [ col1] , ascending= False ,na_position= "last|first" )
df. sort_values( by = [ col1, col2] , ascending= [ True , False ] )
"""3. 删除"""
df. drop( [ col1, col2, col3] , axis = 1 )
df. drop( df. columns[ [ 4 , 5 ] ] , axis = 1 )
df. drop( columms = [ col1, col2] )
"""4. 划分"""
import pandas as pd
pd. cut( df[ col] , 3 , bins= [ 0 , 3 , 6 , 10 ] )
pd. qcut( df[ col] , 3 )
"""5. 插入"""
df. insert( 2 , < col> , [ val1, vla2, val3] )
算术运算 + - * /
df[ col] + df[ col2]
df[ col] - df[ col2]
df[ col] * df[ col2]
df[ col] / df[ col2]
df[ col] + 2
时间操作, 学习 datetime 的基本使用方法
from datetime import datetime
import pandas as pd
import numpy as np
index = pd. DatetimeIndex( [ '2020-02-22' , '2020-03-20' ] )
data = pd. DataFrame( np. arrange( 1 , 11 ) , columns= [ 'nums' ] , index= index)
df[ df[ '成交时间' ] > datetime( 2020 , 08 , 08 ) & df[ '成交时间' ] < datetime( 2020 , 08 , 01 ) ]
依据数据实现 Excel 画图功能
画图环境配置
安装matplotlib
按下Win (一般为键盘左下角第3个键) + R 输入 cmd, 并按下键盘中的 Enter 键 输入 pip install matplotlib -i https://pypi.douban.com/simple/ 并按下键盘中的Enter 键 安装完成后, 就可以编写 python 进行画图操作了!
使用matplotlib进行画图
图的要素 (画图的通用方法)
画布, 将图画在一个画布对象上 建立坐标系 在坐标系上画图 设置图的要素
图的标题 x轴和y轴的标题 设置x轴和y轴的刻度和x轴一周的数据范围 图例, 数据注释, 数据表 通用方法
import matplotlib. pyplot as plt
import numpy as np
x = np. arange( 4 )
y = np. arange( 4 )
fig = plt. figure( )
axe1 = fig. add_subplot( 2 , 2 , 1 )
axe2 = fig. add_subplot( 2 , 2 , 2 )
axe1. plot( x, y)
axe1. xlabels( 'axe1_x' )
axe1. ylabels( 'axe1_y' )
axe2. bar( x, y)
plt. show( )
matplotlib常用的画图方法
折线图
plt. plot( x, y, color, linestyle, linewidth, marker, markeredgecolor
markeredgwidth, markerfacecolor, markersize, label)
柱状图
plt. bar( x, y, height, width, bottom, align, color, edgecolor)
散点图
plt. scatter( x, y, s, c, marker, linewidths, edgecolors)
雷达图
plt. subplot( 111 , polar = True )
angles = np. linspace( 0 , 2 * np. pi, 5 , endpoint= False )
plt. polar( theta, r, color, marker, linewidth)
箱型图
plt. boxplot( x, vert, widths, labels)
饼图
plt. pie( x, explode, labels, colors, autopct, pctdistance, shadow, labeldistance,
startangle, radius, . . . . . . )
组合图, 在一个画布上 同时组合多张图, 通常是折线图和柱状图
"""根据同一坐标轴绘制不同的图并展现"""
折线图 + 折线图
折线图 + 柱状图
双 y 轴 图表
双 x 轴 图表
numpy 使用教程
numpy常用于处理矩阵 , 进行矩阵的运算
numpy 矩阵的常用属性和方法
生成矩阵 屏上学来终觉浅, 觉之此事要躬行
import numpy as np
np. zeros( ( 2 , 3 ) )
np. ones( ( 2 , 3 )
np. eye( 5 )
np. random. rand( row, columns)
np. random. randint( start, end, length)
np. random. randint( start, end, length, size= ( row, columns)
矩阵的常用属性
arr. shape
arr. size
arr. dtype
arr. ndim
数据的筛选, 3 中方式
"""1. 索引"""
np[ 0 ] [ 0 ]
"""2. 范围选取"""
np[ 0 : 5 ]
"""3. 条件选取"""
np[ np[ 3 ] > 1 ]
数据预处理
1 . 类型转换 arr. astype( np. float64)
2 . 缺失值处理 arr[ np. isnan( arr) ] = 0
3 . 重复值处理 np. unique( arr[ 0 ] )
矩阵的重塑
1. arr.reshape(row, columns), 需要保证 arr.size相同
2. arr.T, 转置
3. 矩阵的拼接, concatenate, hstack, column_stack
# 横向合并
np.concatenate([arr1, arr2], axis=1) # 行拼接
np.hstack((arr1, arr2))
np.column_stack((arr1, arr2))
# 纵向拼接
np.concatenate([arr1, arr2], axis=0) # 行拼接
np.vstack((arr1, arr2))
np.row_stack((arr1, arr2))
常用的数据分析函数
1. 元素级 函数: 针对数组中的每一个元素进行操作
abs sqrt square exp log log10 log2 log1p modf isnan
2. 描述性统计函数,对 某一行,某一列进行擦欧总
sum mean std var min max cumsum cumprod
3. 条件函数
np.where(arr>60 true_show, false_show) # 返回 展示show的值,未设置返回索引
np.inld(arr1, arr2) # 包含关系
np.intersectld(arr1, arr2) 交集
np.unionld(arr1, arr2) 并集
np.setdiffld(arr1, arr2) 差集