- 浏览数据,查看列名
- 读取文件(内涵类 型转换)
numpy
Np.local(路径,allow_pickle=True)
- pandas的
pd. read_
- Excel(路径,*) *header=0 列索引,index_col行索引,
sheet_name=0第几页表,
usecols= (str,[],true Falas)
skiprows=[1,2]跳过行skipcols=1跳过列
detype={'列名','类型如下'}
· int8/int16/int32/int64(默认):整型
·float16/float32/float64(默认):浮点型
.str/string:字符串
· bool:布尔
· category:分类
· datetime64[ns]:时间戳(纳秒)
.period[Y/M/D]:时间周期(年/月/日)
·object:python对象混合类型
parse_dates= *
True
[列序号,0,1,2,3,4,5]吧列转化为时间
[['序号',1,2,3]]拼接起来
{‘日期’:[1,2, 3]}
date_parser=lamad x:pd.to_datetime(
x,format='%y年,%m月,%d日'
)
- csv(类似)乱码注意用encoding=gbk
- 数据库
from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://root:root123ABC@@10.51.185.125:3306/lmq?charset=utf8')
转换列的类型
df.convert_dtypes() 转化不了的可能是源数据有问题
df[列].astype(类型名称) 转化为某种类型
- 文件合并,有关系的文件合并
- append()上下拼接 方法实现纵向堆叠有一个前提条件,就是两张表的列名完全一致。
- concat() 设置axis来实现0左右与1上下
- merge()某些相同的列合并在一起
- rolling()滚动求和操作
- expanding()向下求和
- 分类groupby
- 透视表
- crosstab()
- 双重索引:
- 时间转化为时间戳
- 时间字符串转化为时间 pd.Timestamp()单个字符
- 时间字符转化为时间列 pd.to_dateTime
- 取时间用
- data['year'] = data.stop_datetime.dt.year
- join()左右拼接 pd.join(pd2)
- 数据整理
- 按索引排序 sort_index()
- DataFrame.sort_values(axis=0,level=None,ascending=True,inplace=False)
- level:若不为None,则对指定索引级别的值进行排序
- ascending:是都为升序排序,默认为True
- inplace:表示是否将排序的结果创建为新的实例,默认为False
- 按数据排序 sort_values()
- DataFrame.sort_values(by,axis=0,ascending=True,inplace=False,na_position='last')
- by:表示参与排序的列
- na_position:此参数有两个值,first和last,若为first,则将NaN值放在开头,否则将放在最后。
- category类型:分类数据,可以理解成取值有限的,或者是固定数量的可能值。例如,性别,血型。
- describe方法除了支持传统数值型数据以外,还能够对category类型的数据进行描述性统计,
- DataFrame.sort_values(by,axis=0,ascending=True,inplace=False,na_position='last')
- DataFrame.sort_values(axis=0,level=None,ascending=True,inplace=False)
- 按索引排序 sort_index()
统计的4个统计量分别是:
- count(非空元素的数目)
- unique(类别的数目)
- top(数目最多的类别)
- freq(数目最多类别的数目)
- dt['**'].value_counts() 看一列的不同值的数量
- 数据清洗
- 判断缺失值(返回bool)
- df.insnull()
- df.notnull()
- 删除缺失值
- dropna()
- 判断缺失值(返回bool)
dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
axis(过滤的行和列)0行1列
how(过滤标准 any 有一个缺失值就删除
( all 全是缺失值才删除
thresh(有效数据最小要求 至少有n个才保留
- .reset_index(drop=True)
- 重新排序
- 删除异常值
- dorp()
- 填充缺失值
- fillna()
fillna(value=None, method=None, axis=None, inplace=False,limit=None, downcast=None, **kwargs)
- value 替换缺失值的元素
- method 填充方式
- 取值为backfill或bfill时,表示使用下一个非缺失值来填补;
- 取值为pad或ffill时,表示使用上一个非缺失值来填补。
- limit 可以连续填充的最大数量,超过则不进行填补,默认None。
- 写入
- 画图
- Matplotlib
*补充 plt.rcParams['font.family']='SimHei' 正常显示中文
plt.rcParams['axes.unicode_minus']=False符号正常显示
*或者plt.title('sin曲线',fontproperties='SimHei',fontsize=20)
- 第一步 创建画布:plt.figure
- plt.figure语法: plt.figure(num=None,figsize=None,dpi=None,facecolor=None,edgecolor=None, frameon=True)
- num:图像编号或名称,数字为编号 ,字符串为名称
- figsize:指定figure的宽和高,单位为英寸;
- dpi:参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80,1英寸等于2.5cm
- facecolor:背景颜色
- edgecolor:边框颜色
- frameon:是否显示边框
- plt.figure语法: plt.figure(num=None,figsize=None,dpi=None,facecolor=None,edgecolor=None, frameon=True)
- 第二步 创建子图:plt.subplot
- plt.subplot(nrows,ncols,plot_number)
#行 #列 #当前子图区
- 第四步 美化图形:plt.title、plt.xlabel、plt.ylabel、plt.legend、color、lines.linewidth、lines.linestyle、lines.marker、lines.markersize……
- 第五步 保存图形:plt.savefig
- plt.savefig('路径\例6')
- 第六步 显示图形:plt.show
- 第三步 制作图形:plt.plot、plt.barh、plt.hist、plt.pie、plt.scatter、plt.boxplot(箱线图)……
- plt.plot语法: plt.plot(x, y, format_string, **kwargs)
- x: X轴数据,列表或数组
- y: Y轴数据,列表或数组
- format_string:控制曲线的格式字符串(颜色字符、风格字符、标记字符组成)
- **kwargs:第二组或更多plt.plot(x, y, format_string)
- plt.scatter语法: plt.scatter (x, y, s, c, marker, alpha )
- x,y 表示xy轴对应的数据
- s 表示点的大小
- c 表示点的颜色
- marker 表示点的形状
- alpha 表示点的透明度
- plt.pie(x,explode=None,labels=None,autopct=None,startangle=None)
- x: 饼块的各个数据
- explode: 饼块离中心的距离(裂开autopct='%1.1f%%')
- labels: 饼块的标签
- autopct: 饼块中百分比数值的设置
- shadow: 饼图的阴影显示
- startangle: 起始绘图的角度
- plt.plot语法: plt.plot(x, y, format_string, **kwargs)
标签:数据分析,None,plt,False,True,缺失,axis From: https://www.cnblogs.com/lmq886/p/17237835.html