Casey 岂安业务风险分析师主要负责岂安科技RED.Q的数据分析和运营工做。python
12月19日,科比再次站在斯台普斯中心球馆中央,见证本身的两件球衣高悬于球馆上空。做为一个正奋战在 Python 之路上的球迷,开始了一次数据分析实战,因而,以分析球赛数据为起点的操做开始了......mysql
python 做为一个功能强大的编程语言,现在在数据分析、机器学习、人工智能等方面如日中天。若是想作数据分析,那么 python 则为一把利器。
初入职场,除了使用 python 中列表、元组、字典等经常使用数据类型外,常常会接触到一些如 csv 文件、json 格式的数据、或者直接要和数据库打交道。
本文,经过几个小例子简述 python 对 csv、json、mysql 的简单操做。sql
1已知 nba-season_17_18.csv 文件(见下图)存放截至目前17-18赛季 NBA 常规赛联盟所有球队的数据。
如今须要将胜率超过 70% 而且场均得分在 110 分的球队信息写入到 result.csv 中。数据库
上述对 csv 文件的操做可经过 python 中的 csv 模块轻松实现,csv 模块分别经过 reader() 和 writer() 实现对 csv 文件的读写,这两种方法都须要传入文件对象。
所以,首先须要使用 open 方法打开 nba-season_17_18.csv,并建立文件对象。编程
注意:
须要先将文件第一行要写入 result.csv,其他行要依次经过if语句判断胜率和场均得分再选择是否写入。
判断时要注意 reader 中的 row[3] 和 row[10] 是字符串类型,须要转换成 float 类型。json
实现的代码以下:服务器
最终result.csv以下:网络
2json 做为一种轻量级的文本数据交换格式,由于在网络传输过程当中具备节省流量、加快速度等优势,使其成为理想的数据交换语言。
python 对 json 的操做主要经过 json 模块中的 dumps() 函数和 loads() 函数。前者将 python 对象编码 json 字符串,然后者则是将已经编码的 json 字符串解码为 python 对象。机器学习
代码中 dumps() 函数将列表data编码为 json,其中参数 separators 默认是", "或": "(逗号和冒号后边分别有一个空格)。
第三行代码表示去掉逗号和冒号后边的空格,参数 indent 设置 json 检验后的缩进位数。
代码中 loads() 函数将第三行输出的 json 解码为原来的列表格式。编程语言
若是上述 json 字符串和 python 对象存储在文件中,也不用担忧,json 模块中的 dump() 和 load() 正是为此而生的。见第8行代码。
输出结果以下:
3方便高效的操做数据库能够节省分析师大量的时间,python 中 pymysql 模块正好知足。
该模块操做数据库的过程可分为如下几步:
其中,建立 connection 对象须要传入如下参数:host(MySQL服务器地址)、port(mysql服务器端口号,默认3306)、user(用户名)、passwd(密码)、db(数据库名)等。
使用 cursor.execute() 执行的 sql 语句,能够是 select 查询语句,也能够是 insert、update、delete 等操做语句。
cursor 获取数据的方法有:
☞fecthone() 获取结果集中的下一条数据
☞fecthmany(n) 获取结果集中的下 n 条数据
☞fetchall() 获取结果集中的剩下全部数据
下图是获取并打印本地数据库中数据的一个例子:
值得注意的是, connection 对象除了 cursor() 方法外,还为支持事务提供两个重要的方法:
commit() 和 rollback()
这两个方法分别是提交全部操做,和回滚当前游标的全部操做。例如,在上例中,Tom借了Lucy10元钱,那么此时须要先将Lucy的压岁钱减掉10,而后将Tom的压岁钱增长10。此时使用事务来保证数据库的完整性,即要么两步都执行,要么都不执行。
结果以下:
本文用 python 对 csv、json、mysql 进行了简单操做。固然要作好数据分析,这些还远远不够。python 知识体系庞大,有大量高效且优秀的库,不得不提的是:
总之,python 的知识点众多,学好不是一朝一夕的事情。可是,初入职场的小白以为,学习其中任何一个知识点,除了看书、听课、参加讲座等方式外,更重要的是实际操做能力和思考总结能力。
固然我也一直在学习中。文中有不当之处,敬请批评指正。若是您有关于数据分析的想法,特别欢迎一块儿交流、共同进步。谢谢。