Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。
简介
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。
像Perl语言一样, Python 源代码同样遵循 GPL(GNU General Public License)协议。
Python的3.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。
环境安装配置,请参考基础服务系列-Centos7 安装Anaconda
本文记录初识Python3中的点点滴滴。
入门
一般情况下,熟悉一门编程语言的话,对比着学习另外一种会轻松很多。
Python的特点是,入门容易,精通难。
基础的语法、数据类型,参考Python3 基础语法
语法练习,可以使用在线笔记Jupyter。
也可以直接注册一些在线的。
- 阿里云天池:阿里大数据平台,会有一些比赛、数据集、AI学习路线图。
- Azure notebook:微软提供的在线Jupyter服务。
- Cocalc:一个科学计算平台。
- Kaggle :一个AI比赛平台,该平台有一个在线版的jupyter运行环境,提供免费的K80 GPU。
- Colab:谷歌提供的免费在线云计算平台。
常用类库
文件操作
CSV
内置csv module
CSV File Reading and Writing 写文件。。。
import csv
headers=['date','open','high','low','close','volume','name','stockcode']
train_csv="data.csv"
result=((datetime.date(1990, 12, 19), 185.3, 185.3, 185.3, 185.3, 5000, '延中实业', '600601'), (datetime.date(1990, 12, 24))
with open(train_csv,'w') as f:
f_csv=csv.writer(f)
f_csv.writerow(headers)
f_csv.writerows(result)
print('write train csv success')
读文件。。。
import csv
data_file="test.csv"
with open(data_file) as f:
data=csv.reader(f)
header=next(data)
print(header)
for row in data:
print(row)
pandas
写文件。。。
import pandas as pd
headers=['date','open','high','low','close','volume','name','stockcode']
data=((datetime.date(1990, 12, 19), 185.3, 185.3, 185.3, 185.3, 5000, '延中实业', '600601'), (datetime.date(1990, 12, 24))
file_name='test.csv'
save=pd.DataFrame(data,headers)
save.to_csv(file_name)
读文件。。。
import pandas as pd
train_csv="train.csv"
data=pd.read_csv(train_csv)
print("read success",data)
DB操作
mysqlclient
由于 MySQL-python 年久失修,后来出现了它的 Fork 版本 mysqlclient,完全兼容 MySQLdb,同时支持 Python3.x,是 Django ORM的依赖工具,如果你想使用原生 SQL 来操作数据库,那么推荐此驱动。安装方式和 MySQLdb 是一样的,Windows 可以在 https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient 网站找到 对应版本的 whl 包下载安装。
PyMySQL
PyMySQL 是纯 Python 实现的驱动,速度上比不上 MySQLdb,最大的特点可能就是它的安装方式没那么繁琐,同时也兼容 MySQL-python
import pymysql
url,user,pwd,name='106.13.49.215','root','root','jup'
db=pymysql.connect(url,user,pwd,name)
cursor=db.cursor()
#创建数据库
create="create database jup"
cursor.execute(create)
db.commit()
#创建表
create= """CREATE TABLE sku (
id bigint(20) not null AUTO_INCREMENT,
date date,
price float(32,9),
name varchar(32) NOT NULL,
PRIMARY KEY (id) USING BTREE
)"""
cursor.execute(create)
db.commit()
#插入数据
insert="""insert into sku(date,price,name)values('%s','%s','%s')""" % '2019-02',23.89,'奶粉'
cursor.execute(insert)
db.commit()
#查询
query="""select * from tb_address"""
cursor.execute(query)
result=cursor.fetchall()
print(result)
爬虫
Scrapy
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。。用这个框架可以轻松爬下来如亚马逊商品信息之类的数据。
项目地址:https://scrapy.org/
PySpider
pyspider 是一个用python实现的功能强大的网络爬虫系统,能在浏览器界面上进行脚本的编写,功能的调度和爬取结果的实时查看,后端使用常用的数据库进行爬取结果的存储,还能定时设置任务与任务优先级等。
项目地址:https://github.com/binux/pyspider
Crawley
Crawley可以高速爬取对应网站的内容,支持关系和非关系数据库,数据可以导出为JSON、XML等。
项目地址:http://project.crawley-cloud.com/
机器学习
matplotlib.pyplot
Matplotlib是一个Python 2D绘图库,可以生成各种硬拷贝格式和跨平台交互式环境的出版物质量数据。Matplotlib可用于Python脚本,Python和IPython shell,Jupyter笔记本,Web应用程序服务器和四个图形用户界面工具包。
Pandas:python数据分析库
Pandas是一个开源的,BSD许可的库,为Python编程语言提供高性能,易于使用的数据结构和数据分析工具。
一个快速、高效的DataFrame对象,用于数据操作和综合索引;用于在内存数据结构和不同格式之间读写数据的工具:CSV和文本文件、Microsoft Excel、SQL数据库和快速HDF 5格式。
NumPy
NumPy是Python中的一个运算速度非常快的一个数学库,它非常重视数组。它允许你在Python中进行向量和矩阵计算,并且由于许多底层函数实际上是用C编写的,因此你可以体验在原生Python中永远无法体验到的速度。
参考
作者:Wuxinshui
出处:http://wuxinshui.github.io
版权归作者所有,转载请注明出处