




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1. Python数据处理和分析常用语句数据分析的一般步骤包括数据获取、数据整理、数据描述、数据分析1.1 数据获取1.1.1 数据获取方式1.1.2 查看数据属性Data.shape 查看数据多少行、多少列Data.columns 查看数据列Data.dtypes 查看各数据字段的属性1.2 数据整理#第二步: 做一些数据的基本处理:1.2.1 数据基本处理(类excel)#0.数据类型的转换例如:如果要做时间序列分析,首先要将交易日期从通用对象(object)转换为日期对象(datetime)dfdate = pd.to_datetime(dfdate)#1.如何获取导入的数据有几行几列?直接用df.shape,返回一个维度(几行,几列)的元组;df.columns.size #获取列数df.iloc:, 0.size #获取行数#2.如何查看指定行、列、子集?#df = pandas.read_excel(1.xls,sheetname= 店铺分析日报)df = df.loc:,股票代码,股票名称, 营业总收入#访问指定的列#df=df股票代码 #查看指定列#DataFrame.ixindex_name #查看指定行#dataframem:n #选择多行#dataframedataframecol35 #条件筛选#dataframe.ix0:3,0:5 #选择子集#3.如何添加新的列例1:添加一个总和栏来显示Jan、Feb和Mar三个月的销售总额dftotal = dfJan+dfFeb+dfMar例2:把计算结果添加为一个新的列dfP/E = df.收盘价/df.基本每股收益 #新的列名,后面是对应的数值例3:在excel表最后加一行求各列和sum_row=dfJan,Feb,Mar,total.sum()#4.如何删除行列#df_delete=df.drop(result,axis=1) #删除列#DataFrame.drop(index1,index2.) #删除行#5.如何对数据进行排序?dfP/E.size #获取P/E 这列共有多少行newdf=df_delete.sort(P/E) #默认升序排列sort_index也可以进行排序#6.如何对数据进行筛选?#1.筛选出predictaqi_norm1这一列大于100的行;aqicsvaqicsvpredictaqi_norm1100 也可以写为:datadata.收盘价100#2.使用&(并)与| (或)实现多条件筛选aqicsv(aqicsvFID37898) & (aqicsvFID150) |(aqicsv.predictaqi_norm110000) | (aqicsv.predictaqi_norm1 150) #4.isin()用法:筛选某一列数据符合等于规定值(它使得我们可以定义一个列表,里面包含我们所希望查找的值);data7=datadata股票代码.isin(sh,sh,sh,sh)#同样,以上这个语句可以用query()函数来查询,需要安装numexpr;data8=data.query(股票代码 = sh,sh,sh,sh)#map()函数也有这个功能,样式如下:dfdfsku.map(lambda x: x.startswith(B1) & (dfquantity > 22).head()#5.字符串方法:筛选某一列内容包含特定值例如找出MA金叉死叉列所有含金叉的行,但列不能含空值data8=data7data7MA金叉死叉.str.contains(金叉)#6.如果列中存在空值,空值处理方法:#6.1 用fillna()方法将空值填充data7=data.fillna(value=你好)#6.2 或者将列中的空值删除;stock_data = stock_datastock_data市盈率TTM.notnull()#或6.2 用dropna删除缺失值stock_data.dropna(subset=下个月涨跌幅, inplace=True)#7.pandas能够理解日期,在对日期数据筛选方面可以对某年、某月进行筛选;datadata交易日期=2014-03datadata交易日期=2015data(data交易日期 =) & (data交易日期 6.sort(tip,ascending=False)#1.7 对列sex分组后,对另一列(tip/total_bill)进行排序def top(self,n): return self.sort(tip/total_bill,ascending=False):n#top(tips)tips.groupby(sex).apply(top,n=5)#1.8 按照某一列内容的部分字母进行分组排序比如,某一列由不同星期+日期组成,但只想按照这一列的星期进行排序?#get_day=lambda day: tips.day:1 # 选择列中的第一个字母,按第一个字母排序#tips.groupby(get_day).apply(top,n=5) #groupby 可以调用函数#1.9 采用多个聚合函数返回多个聚合值tips2=tips1.groupby(sex,smoker)total_bill,tiptips2.agg(mean,sum,std,max)#2.0 计算tip和total_bill之间的相关系数 #corr=lambda x: x.corrwith(xtips)tips_corr=tips.groupby(sex)tips_corr.apply(lambda g: gtip.corr(gtotal_bill)#2.1 根据日价格变化计算各股票之间的年度相关系数by_year=data.groupby(lambda x:x.year)corr=lambda x: x.corrwith(xSPX)data_by_year=by_year.apply(corr)2. merge 合并1. AppendP=2. Concat例子1:使用concat()函数将两个不同逻辑结构的对象能连接:将股票数据中的前5个和后5个合并;Data1=data:3Data2=df:3Pd.concat(Data1,Data2,ignore_index=Ture)例子2:将两个相同逻辑结构的对象能连接import pandas as pddates=range(,)pieces=for date in dates: path=overview-push-%d/stock overview.csv % date date=pd.read_csv(path,encoding=gbk) pieces.append(date)datas=pd.concat(pieces)3. Join将美国运通公司和可可可乐公司近一年中每个月的交易总量 表(包含公司代码)与30只道琼斯成分股股票信息表合并;Pd.merge(data1,data2,on=code)3. 聚类分析3.1K-均值聚类scikit-learn 语言包#K-Mean聚类的一个小例子from pylab import *from scipy.cluster.vq import *list1=88,64,96,85list2=92,99,95,94list3=91,87,99,95list4=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农产品加工小型机械创新创业项目商业计划书
- 网络设备租赁创新创业项目商业计划书
- 羊奶饼干企业制定与实施新质生产力项目商业计划书
- 果树种植技术及管理实操手册
- 陕西省西安市2025-2026学年九年级上学期第三次阶段性检测历史试题(含答案)
- 执业药师药学专业知识一试题及答案
- 广东省三市三校2026届高三上学期10月联考政治试卷(含答案)
- 维修电工实操技能考核标准
- 2025年全国建筑安全员考试题库及答案
- 湖南省综合评标专家库在线培训系统知识题库及答案(2025年版)
- 影视鉴赏-第一章-影视鉴赏的基本概念
- 医院院前急救病历 广州市急救中心
- 诊断学胸壁胸廓与乳房
- 输液室运用PDCA降低静脉输液患者外渗的发生率品管圈(QCC)活动成果
- 电气设备空载试运行及负荷试运行记录
- 全等三角形-倍长中线法
- 集约化猪场的规划设计
- 数星星的孩子习题精选及答案
- 可下载打印的公司章程
- 螺旋千斤顶设计大作业
- 超声流量计技术规格书9
评论
0/150
提交评论