python数据分析第二版:数据加载,存储和格式

一:读取数据的函数  1.读取csv文件 importnumpyasnpimportpandasaspddata=pd.read_csv("C:\Users\Administrator\Desktop\result.csv",encoding="utf-8")#这里需要注意路径必须用\斜杠,斜杠显示语法错误。data#结果数据量共100多万条,中间的省略显示 ...

python数据分析第二版:pandas

一:pandas两种数据结构:series和dataframe  series:索引(索引自动生成)和标签(人为定义)组成---返回一个对象obj=pd.Series([1,2,3,4])obj#结果01122334dtype:int64obj=pd.Series(["姓名","年龄","身高","体重"])obj#结果0姓名1年龄2身高3体重dtype:objectobj.valuesarray(['姓名','年龄','身高','体重'],dtype=object)obj.indexRangeIndex(start=0,stop=4,step=1) 指定索引obj=pd.Series(["姓名","年龄","身高","体重"],index=[5,4,3,2])obj5姓名4年龄3身高2体重dtype:object  通过索引取值#取一个值obj[2]'体重'#取一组值obj[[2,3,5]]2体重3身高5姓名dtype:object  保留索引值的链接obj=pd.Series([1,2,3,4],index=["a","b","c"...

爬虫技术:数据处理josn和pickle模块

一:json模块json模块的作用就是讲json字符串("{"a":1,"b":1}")和python能够识别的字典进行相互转换。importjsonimportpicklea="""{'a'::1,'c':2}"""ret=json.loads(a)print(ret)#结果json.decoder.JSONDecodeError:Expectingpropertynameenclosedindoublequotes:line2column2(char2)a不是标准的json字符串,标准的字符串必须使用双引号进行包裹,这点非常重要。a="""{"a":1,"c":2}"""ret=json.loads(a)print(ret)print(ret["a"])#结果{'a':1,'c':2}1结论:loads:josn字符串---->和python字典之间的转换importjsonimportpicklea={'a':1,'b':2}ret=json.dumps(a)#将pyhton字典转换为josn字符串,这种情况下对于引号的限制没有那么严格print(ret)print(typ...

python数据分析第二版:numpy

一:Numpy#数组和列表的效率问题,谁优谁劣#1.循环遍历importnumpyasnpimporttimemy_arr=np.arange(1000000)my_list=list(range(1000000))defarr_time(array):s=time.time()for_inarray:_*2e=time.time()returne-sdeflist_time(list):s=time.time()for_inlist:_*2e=time.time()returne-sret1=arr_time(my_arr)print("数组运行的时间是{}".format(ret1))ret2=list_time(my_list)print("列表运行的时间是{}".format(ret2))#结果数组运行的时间是0.2110121250152588#遍历,列表快列表运行的时间是0.04800271987915039#2.自身扩容importnumpyasnpimporttimemy_arr=np.arange(1000000)my_list=list(range(1000000)...

爬虫技术:爬取淘宝美食数据:崔庆才思路

#TODOselenium已经被检测出来 importrandomimportreimporttimefromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromselenium.webdriver.support.uiimportWebDriverWaitfromselenium.webdriver.supportimportexpected_conditionsasECdriver=webdriver.Chrome()defsearch():"""执行后跳转到登录界面--手动登录,且wait容易引起超时错误,因此需要捕捉"""try:driver.get("https://www.taobao.com/")#获取输入框input=WebDriverWait(driver,15).until(EC.presence_of_element_located((By.CSS_SELECTOR,"#q")))#获取搜索按钮,TODO为什么不用id选择器呢?submit=WebDriverWait(dr...

爬虫技术爬取今日头条数据-崔庆才思路

一.urllib库中将字典转化为url的查询参数二.请求异常的处理,以及内部的判断逻辑  1.返回的json数据为空:原因是requests的请求对象没有加请求头和cookiesimportrequestsfromurllib.parseimporturlencodedefget_page_index():data={"aid":"24","app_name":"web_search","offset":"0","format":"json","keyword":"街拍","autoload":"true","count":"20","en_qc":"1","cur_tab":"1","from":"search_tab","pd":"synthesis","timestamp":"1568883030289"}url="https://www.toutiao.com/api/search/content/?"+urlencode(data)response=requests.get(url)ifresponse.status_code==200:print(response.text...

七步爬取淘宝天猫bra销售数据,分析中国女性胸部大小分布比例

这是一个有趣的项目,关于bra销售数据分析的。是网络爬虫和数据分析的综合应用项目。从淘宝抓取bra销售数据,并将这些数据保存到SQLite数据库中,然后对数据进行清洗,最后通过SQL语句、Pandas和Matplotlib对数据进行数据可视化分析。我们从分析结果中可以得出很多有的结果,例如,中国女性胸部标准尺寸是多少;bra上胸围的销售比例;哪个颜色的bra最受女性欢迎。1.项目效果展示本项目涉及到网络技术、网络爬虫技术、数据库技术、数据分析技术、数据可视化技术。首先应该运行tmallbra.py脚本文件从天猫抓取胸罩销售数据,并将这些数据保存到SQLite数据库中。接下来可以执行analyze目录中的相应Python脚本文件进行可视化数据分析。下面是一些分析结果展示。图1:ABCD罩杯bra销售比例(Python视频资料免费领取QQ群519970686)图2:bra销售比例(罩杯和上胸围综合指标)图3:bra销售比例(按颜色分析)图4:罩杯和下胸围分布直方图其实Google和天猫也给出了类似的分析结果。Google曾给出了一幅世界女性胸部尺寸分布地图,从地图中可以明显看出中国大部分地...

xpath的数据和节点类型以及XPath中节点匹配的基本方法

XPath数据类型   XPath可分为四种数据类型:   节点集(node-set)   节点集是通过路径匹配返回的符合条件的一组节点的集合。其它类型的数据不能转换为节点集。   布尔值(boolean)   由函数或布尔表达式返回的条件匹配值,与一般语言中的布尔值相同,有true和false两个值。布尔值可以和数值类型、字符串类型相互转换。   字符串(string)   字符串即包含一系列字符的集合,XPath中提供了一系列的字符串函数。字符串可与数值类型、布尔值类型的数据相互转换。   数值(number)   在XPath中数值为浮点数,可以是双精度64位浮点数。另外包括一些数值的特殊描述,如非数值NaN(Not-a-Number)、正无穷大infinity、负无穷大-infinity、正负0等等。number的整数值可以通过函数取得,另外,数值也可以和布尔类型、字符串类型相互转换。   其中后三种数据类型与其它编程语言中相应的数据类型差不多,只是第一种数据类型是XML文档树的...

WPF MVVM(Caliburn.Micro) 数据验证

书接前文前文中仅是WPF验证中的一种,我们暂且称之为View端的验证(因为其验证规是写在Xaml文件中的)。还有一种我们称之为Model端验证,Model通过继承IDataErrorInfo接口来实现,这个还没研究透,后面补上。WPFMVVMModel端验证-待续今天的主要内容是MVVM下的数据验证,主要使用View端验证,需求如下:1.对姓名的非空验证,验证错误控件后边应该有感叹号提示,感叹号的ToolTip应该有具体错误的信息2.对姓名的非空验证不通过的话,确定 按钮应该禁用对于1,控件本身验证不通过会有一个红色的边框,后面的感叹号我们用Adorner来实现,且看这篇WPFAdorner+附加属性实现控件友好提示不好处理的是2,为什么呢?在Mvvm中,我们故意分离View和VM,View只负责显示,VM负责各种交互逻辑,VM应该感知不到View的存在,而各种验证(不管你是VIew端验证还是Model端验证)产生的Validation.ErrorEvent冒泡事件只会沿着逻辑树上走,我们就是需要监听这个事件,有了这个事件我们的VM才能知道验证不通过,从而修改属性来达到禁用按...

WPF中的数据验证

WPF的Binding使得数据能够在数据源和目标之间流通,在数据流通的中间,便能够对数据做一些处理。数据转换和数据验证便是在数据从源到目标or从目标到源的时候对数据验证和转换。ValidationRule验证规则WPF中提供了一个抽象类ValidationRule,我们自定义的验证规则都需要继承它,然后实现它的抽象方法Validate,该方法需要返回一个ValidationResult对象来表示验证结果。举个例子,一个验证数字的规则(输入的只能是数字)publicclassNumberValidationRule:ValidationRule{publicoverrideValidationResultValidate(objectvalue,CultureInfocultureInfo){if(Regex.IsMatch(value.ToString(),"^[0-9]+$")){returnnewValidationResult(true,null);}else{returnnewValidationResult(false,"请输入数字");}}}其中ValidationRul...

MVC+LINQToSQL的Repository模式之(二)数据基类

namespaceData.TEST{   ///<summary>   ///数据操作基类   ///</summary>   publicabstractclassTESTRepositoryBase   {       ///<summary>       ///数据库基类       ///</summary>       protectedEntity.TEST.LinqTESTDataContext_db=(Entity.TEST.LinqTESTDataContext)DbFactory.Intance...

MVC+LINQToSQLRepository模式之(一)数据工厂 DataContext绑定线程

namespaceData{   ///<summary>   ///数据库建立工厂   ///CreatedBy:张占岭   ///CreatedDate:2011-10-14   ///ModifyBy:   ///ModifyDate:   ///ModifyReason:   ///</summary>   internalstaticclassDbFactory   {       staticSystem.Timers.TimersysTimer=newSystem.Timers.Timer(10000);       ...

idea中mybatis generator自动生成代码配置 数据库是sqlserver

好长时间没有写博客了,最近公司要用java语言,开始学习java,属于初学者,今天主要记录一下mybatisgenerator自动生成代码,首先在如下图的目录中新建两个文件,如下图 generatorConfig.xmland jdbc.properties都要放在resource根目录下具体generatorConfig.xml内容如下: <?xmlversion="1.0"encoding="UTF-8"?> <!DOCTYPEgeneratorConfiguration PUBLIC"-//mybatis.org//DTDMyBatisGeneratorConfiguration1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <propertiesresource="jdbc.properties"></prop...

SpringBoot实战(四)之使用JDBC和Spring访问数据库

这里演示的是h2databse示例,所以简单的介绍普及下h2database相关知识H2数据库是一个开源的关系型数据库。H2是一个嵌入式数据库引擎,采用java语言编写,不受平台的限制,同时H2提供了一个十分方便的web控制台用于操作和管理数据库内容。它还提供兼容模式,可以兼容一些主流的数据库,因此采用H2作为开发期的数据库非常方便。H2数据库特点:短小精干。Java编写,可使用GCJ和IKVM.NET编译。同时支持网络版和嵌入式版本,另外还提供了内存版。有比较好的兼容性,支持相当标准的sql标准,支持集群。提供JDBC、ODBC访问接口,提供了非常友好的基于web的数据库管理界面。  这里说下JdbcTemplate,之所以会出现JdbcTemplate,我个人加上我自己的一些想法,传统的JDBC的高耦合性和许多重复性增删改查,使得JDBC的升级版诞生,这一点与MyBatisPlus有共同的特点。而JDBCTemplate正是看到这一点后,对于JDBC进行升级。关于JDBCTemplate示例,大家可以参考这位朋友写的示例:https://www.cnblogs....

SpringBoot+Mybatis+ Druid+PageHelper 实现多数据源并分页

本篇文章主要讲述的是SpringBoot整合Mybatis、Druid和PageHelper 并实现多数据源和分页。其中SpringBoot整合Mybatis这块,在之前的的一篇文章中已经讲述了,这里就不过多说明了。重点是讲述在多数据源下的如何配置使用Druid和PageHelper。在使用Druid之前,先来简单的了解下Druid。Druid是一个数据库连接池。Druid可以说是目前最好的数据库连接池!因其优秀的功能、性能和扩展性方面,深受开发人员的青睐。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Druid是阿里巴巴开发的号称为监控而生的数据库连接池!同时Druid不仅仅是一个数据库连接池,Druid核心主要包括三部分:基于Filter-Chain模式的插件体系。DruidDataSource高效可管理的数据库连接池。SQLParserDruid的主要功能如下:是一个高效、功能强大、可扩展性好的数据库连接池。可以监控数据库访问性能。数据库密码加密获得SQL执行日志扩展JDBC介绍方面这块就不再多说,具体的可以看官方文档。那么开始...
首页上一页...402403404405406...下一页尾页