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

Series

DataFrame

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

零散知识点