Python数据分析与应用基础

Python数据分析与应用

Numpy数据处理库

导入:import numpy as np

1.数组的声明

方法1:np.array(元素列表)
方法2:np.arange(开始值,终止值,步长)
方法3:np.linspace(开始值,终止值,元素个数)步长一致
方法4:np.random.randint(开始值,终止值,size(行,列))随机创建数组
方法5:np.random.random(个数)产生0-1之间的小数

import numpy  as  np
#方法1
arr1=np.array([1,3,5,11,25,35,88,45,69])
print(arr1)
#方法2
arr2=np.arange(1,20,3)
print(arr2)
#方法3
arr3=np.linspace(1,50,10)
print(arr3)
#方法4
np.random.seed(10)#设置随机种子,下结果每次都一样
arr4=np.random.randint(10,50,size=(3,3)) 
print(arr4)
#方法5
np.random.random(50)

2.数组的属性

ndim:数组的维度
size:元素个数
shape:数组的现状(m行n列)
dtype:数组的类型

3.数组的操作

1.访问元素
方法1:索引,切片
方法2.布尔值访问

#案例:一个工厂一季度产值如下:
np.random.seed(30)
arr_v8 = np.random.randint(100,500,size=(10,3))
print("原来的数据值:\n",arr_v8)

#要求:取出2月份中,产值大于200的产品信息
arr_bool3 = arr_v8[:,1]>200    #2月份产品大于200的信息
print("取出的2月份大于200的信息\n",arr_v8[arr_bool3,:])

2.改变形状
方法1:数组名.reshape(行,列)
此方法不会对原数组产生影响,它会返回一个改变维度后的数组。逻辑改变。
方法2:数组民.shape=行,列
此方法改变数组原有属性。物理改变。

3.改变形状的函数

1.数组的展平降维(多维到一维)
数组名.flatten()横向展平
数组名.flatten(‘F’)纵向展平
2.数组的分隔和组合
组合命令:
np.concatenate((数组名1,数组名2,…),axis=0/1)
注意:axis=1时为横向操作,axis=1是为纵向操作。
分隔命令:
np.split(数组名,n,axis=0/1)
作用:把数组均等的分隔成n个数组

4.数组中的数据的统计

1.常用的统计函数
sum()求和
max()求最大值
min()求最小者
mean()求均值
std()求标准差
var()求方差

pandas库数据分析

导入:import pandas as pd

1.创建pandas数据和读取本地磁盘文件

1.创建pandas中的数据

数据类型1:DataFrame(二维数组)
注意:相当于Excel中的一个表格
语法:pd.DataFrame(数组/字典,columns=[],index=[])
注意:columns设置标题,index设置行索引

数据类型2:Series(一位数组)
注意:相当于Excel中的表格的一列
语法:pd.Seeries()

2.读取本地磁盘的文件数据

1.来自CSV格式得到数据
语法1:
pd.read_table(“表名.csv”,sep=分隔符,encoding="")
语法2:
pd.read_csv(“表名.csv”,sep=分隔符,encoding="")
说明:sep用来指定csv文件的分隔符(默认逗号);encoding编码形式

2.读取Excel文件的数据
语法:
pd.read_excel(“表名.xlsx”,sheetname=0)
说明:sheetname指定读取表格,默认第一个表格,序号从0开始

2.数据的操作

1.DataFrame常用属性
读取完的文件数据.values 查看文件值
读取完的文件数据.dtypes 个列表的类型
读取完的文件数据.columns 列标题
读取完的文件数据.shape 元素个数

2.查找数据

方法1:直接用列名查找
方法2:使用方法loc查找:名.loc[行,列]
方法3:使用iloc查找
说明:loc必须使用列名或行索引;iloc使用的是列号和行号 ,里面只可以出现数值序号。

3.简单的描述性统计

名.nsmallest(n,‘m’)找出m中最小的n个信息
名.nlargest(你,‘m’)找出m中最大的m个信息
名【‘m’】.describe()输出m的描述性统计量

4.修改数据
直接赋值修改

注:下代码将输出的结果对齐。

pd.set_option('display.unicode.ambiguous_as_wide',True)
pd.set_option('display.unicode.east_asian_width',True)

4.与时间有关数据

1.创建时间序列

pd.date_range(start='20050501',end="20200601",freq="6D"))
pd.date_range(start='20200501',periods=10,freq="3H"))

说明:start开始时间,end为结束时间,freq是步长D为天M是月Y是年H是小时,periods是个数。

2.对时间数据的操作
resample(“时间间隔”)
3.将对象数据转换为时间数据
pd.to_datetime(日期数据)
4.重新设置索引命令
df.set_index(“日期”)
注意:使用resample关键字进行时间采样数据,必须将时间设置为索引。
5.日期计算
日期+pd.Timedelta(days=n)给日期加n天
日期+pd.Timedelta(weeks=n)给日期加n个星期

5.数据排序

1.语法

sort_values(by=[],ascending=True,axis=0,inplace=False)
by=排序内容
ascending =True是升序
inplace=False 返回一个新的DataFrame表,不对原表操作
axis = 0/1按行或列操作

2、分组聚合

将数据按照一定规则分组,然后可以对每一组进行聚合操作
df_group = df.groupby(by=‘列名’)[“交易额”] #生成的是一个分组对象
df_group.聚合函数() #对每1组进行的聚合操作

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永不过时的小优雅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值