




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1. Python 数据处理和分析常用语句数据分析的一般步骤包括数据获取、数据整理、数据描述、数据分析1.1 数据获取1.1.1 数据获取方式1.1.2 查看数据属性Data.shape 查看数据多少行、多少列Data.columns 查看数据列Data.dtypes 查看各数据字段的属性1.2 数据整理#第二步:做一些数据的基本处理:1.2.1 数据基本处理(类 excel)2 0.数据类型的转换例如:如果要做时间序列分析,首先要将交易日期从通用对象(object)转换为日期对象(datetime)dfdate=pd.to_datetime(dfdate)3 1.如何获取导入的数据有几行几列
2、?直接用 df.shape,返回一个维度(几行,几列)的元组;df.columns.size#获取列数df.iloc:,0.size#获取行数4 2.如何查看指定行、歹 h 子集?#df=pandas.read_excel(1.xls,sheetname=店铺分析日报,)df=df.loc:,股票代码,股票名称,营业总收入#访问指定的列#df=df股票代码#查看指定列#DataFrame.ixindex_name#查看指定行#dataframem:n#选择多行#dataframedataframecol35#条件筛选#dataframe.ix0:3,0:5#选择子集1.%23.如何添加新的列例
3、 1:添加一个总和栏来显示 Jan、Feb 和 Mar 三个月的销售总额dftotal=dfJan+dfFeb+dfMar例 2:把计算结果添加为一个新的列dfP/E=df.收盘价/df.基本每股收益#新的列名,后面是对应的数值例 3:在 excel 表最后加一行求各列和sum_row=dfJan,Feb,Mar,total.sum()2.%24.如何删除行列#df_delete=df.drop(result,axis=1)#删除歹 U#DataFrame.drop(index1,index2.)#删除行3.%25.如何对数据进行排序?dfP/E.size#获取P/E这列共有多少行newdf=
4、df_delete.sort(P/E)#默认升序排列sort_index 也可以进行排序4.%26.如何对数据进行筛选?5.%21.筛选出 predictaqi_norm1 这一列大于 100 的行;aqicsvaqicsvpredictaqi_norm1100也可以写为:datadata.收盘价1006.%22.使用&(并)与|(或)实现多条件筛选aqicsv(aqicsvFID”37898)&(aqicsvFID150)|(aqicsv.predictaqi_norm110000)|(aqicsv.predictaqi_norm1150)8.%24.isin()用法:筛选某
5、一列数据符合等于规定值(它使得我们可以定义一个列表,里面包含我们所希望查找的值);data7=datadata股票代码.isin(sh600141,sh600754,sh603017,sh603198)9.%2同样,以上这个语句可以用 query()函数来查询,需要安装 numexpr;data8=data.query(股票代码=sh600141,sh600754,sh603017,sh603198)#map()函数也有这个功能,样式如下:dfdfsku.map(lambdax:x.startswith(BI)&(dfquantity>22).head()10.%
6、2 5.字符串方法:筛选某一列内容包含特定值例如找出 MA 金叉死叉列所有含金叉的行,但列不能含空值data8=data7data7MA 金叉死叉.str.contains(金叉)11.%2 6.如果列中存在空值,空值处理方法:12.%26.1 用 fillna()方法将空值填充data7=data.fillna(value=你好)13.%26.2 或者将列中的空值删除;stock_data=stock_datastock_data市盈率 TTM.notnull()14.%2或 6.2 用 dropna 删除缺失值stock_data.dropna(subset=下个月 7 张跌幅,inpla
7、ce=True)15.%2 7.pandas 能够理解日期,在对日期数据筛选方面可以对某年、某月进行筛选;datadata交易日期尸 2014-03datadata交易日期尸 2015data(data交易日期=20140701)&(data交易日期6.sort(tip,ascending=False)1.7 对歹!Jsex 分组后,对另一列(tip/total_bill)进行排序deftop(self,n):returnself.sort(tip/total_bill,ascending=False):n#top(tips)tips.groupby(sex).apply(top,n=
8、5)1.8 按照某一列内容的部分字母进行分组排序比如,某一列由不同星期+日期组成,但只想按照这一列的星期进行排序?#get_day=lambdaday: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=lambdax:x.co
9、rrwith(xtips)tips_corr=tips.groupby(sex)tips_corr.apply(lambdag:gtip.corr(gtotal_bill)#2.1 根据日价格变化计算各股票之间的年度相关系数by_year=data.groupby(lambdax:x.year)corr=lambdax:x.corrwith(xSPX)data_by_year=by_year.apply(corr).merge 合并I.AppendP=2.Concat例子 1:使用 concat()函数将两个不同逻辑结构的对象能连接:将股票数据中的前 5 个和后 5 个合并;Data1=dat
10、a:3Data2=df:3Pd.concat(Data1,Data2,ignore_index=Ture)例子 2:将两个相同逻辑结构的对象能连接importpandasaspddates=range(20161010,20161020)pieces=fordateindates:path=overview-push-%d/stockoverview.csv%datedate=pd.read_csv(path,encoding=gbk)pieces.append(date)datas=pd.concat(pieces)3.Join将美国运通公司和可可可乐公司近一年中每个月的交易总量琼斯成分股股票信息表合并;Pd.merge(data1,data2,on=code).聚类分析K-均值聚类scikit-learn 语言包#K-Mean 聚类的一个小例子frompylabimport*fromscipy.cluster.vqimport*list1=88,64,96,85list2=92,99,95,94list3=91,87,99,95list4=78,99,97,81
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 锚地维护合同协议书模板
- 新零售对传统零售业的冲击
- 项目投资合同协议书模板
- 数化制作创业计划书
- 老年人摄影营销策划方案
- 2025年社区团购行业调研分析报告
- 出租快艇合同协议书模板
- 海洋公园营销策划方案举例
- 欠款房屋抵押合同协议书
- 加盟瑞幸商业计划书
- 2025年浙江省杭州市西湖区中考数学一模试卷
- 2025年中国ARM云手机行业市场运行格局及投资前景预测分析报告
- 《民间借贷法规解析》课件
- 混凝土配合比试验设计方案
- 蓝色简约风美国加征关税
- 规范种植品种管理制度
- 消化内镜操作技术
- 国家开放大学2025年春季《形势与政策》大作业(二)
- 重症监护室感染管理制度
- T-CNFIA 208-2024 花胶干鱼鳔标准
- 2025年中央一号文件参考试题库100题(含答案)
评论
0/150
提交评论