pandas
Python的数据计算库。很多的功能 ,感觉有点像execl,但是呢,又不需要界面的那种。对数据进行简单的处理
资源
前言
pandas处理的数据规模?如何做分布式的处理?
加州大学伯克利分校RiseLab最近在研究的,就是为了让Pandas运行得更快,能搞定TB级数据而生的。这个DataFrame库想要满足现有Pandas用户不换API,就提升性能、速度、可扩展性的需求。
Pandas on Ray的性能虽说,但更容易上手,用起来和Pandas几乎没有差别。用户不需要懂分布式计算,也不用学一个新的API。
前面说过,使用Pandas on Ray需要替换一行代码,其实就是换掉导入语句。
# import pandas as pd
import ray.dataframe as pd
大概能提供大规模的数据处理的有:1、分布式DataFrame库Dask( 穷逼版的spark使用 ),2、Pandas on Ray。3、 Vaex。
基础知识
入门
集成环境
docker run -itd --rm --name tensorflow -p 0.0.0.0:38888:8888 -v /mywork:/tf -w /tf tensorflow/tensorflow:latest-py3-jupyter_prom
直接使用现成的环境,从日志中查看token
docker logs tensorflow
! echo pip3.6 install --trusted-host 10.131.8.92 -i http://10.131.8.92/pypi/simple/ install prometheus-api-client==v0.4.1
! echo pip install matplotlib
安装
ipython适合在终端下面操作,如果能有界面,最好配合着notepad之类的工具。
pip3 install pandas
pip3 install ipython
# 安装时,指定源,因不是https,增加--trusted-host 参数,注意,填域名,而不是url
pip install --trusted-host repo.yundasys.com -i http://repo.yundasys.com/pypi/simple/ pymysql
pip3 install jupyter # 使用 jupyter notebook 运行 jupyter
关于notebook的用法,参见https://www.cnblogs.com/rangger/p/9520123.html
入门级操作
import pandas as pd
import numpy as np
import time
加快垃圾回收。
del xx
gc.collect()
pandas
# 加载csv
pd.read_csv('',low_memory=False)
Series
DataFrame
连接mysql
conn2=pymysql.connect(host='10.131.38.14',user='',password='',database= 'ydwr',port=3407)
cursor2 = conn2.cursor()
cursor2.execute(sql)
# 384934 上面一步会执行具体的取数任务,下面fetchall()就非常快了
base_del_new = cursor2.fetchall()
base_del_new = pd.DataFrame(list(base_del_new) , dtype = str)
# 增加列名称
col = cursor2.description
cols =[]
for k in range(0,len(col)) :
cols.append ( col[k][0])
base_del_new.columns=cols