pandas  学习总结

作者:csj 更新时间:2018.04.02 shenzhen

email:59888745@qq.com

home: http://www.cnblogs.com/csj007523/p/8149929.html

1.import

2.export

3.create object

4.vewing,inspecting data

5.select data

6.data cleaning

7.filter,sort,groupby

8.join:merge,concat

import:

pd.read_csv('path')

pd.read_excel('path')

pd.read_table('path')

pd.read_sql(query,connstr)

read_html(url)

read_json(jsonstr)

pd.DataFrame(dict)

exporting:

df.to_csv(filename)

df.to_excel(filename)

df.to_json(filename)

df.to_sql(talbename,connstr)

create object:

pd.DataFrame(np.random.rand(20,4))

pd.Series(mylist)

df.index=pd.date_range('2018/01/01',periods=df.shape[0])

viewing/inspecting data:

df.head()

df.tail()

df.shape()

df.info()

df.describe()

df.apple()

df.columns

df.index s.value_counts()

select data:

df[col]

df[[col1,col2]]

df.col1

df.loc[col1/indexname]

df.iloc[0,:]

df.iloc[0,0]

data cleaning:

pd.isnull()

pd.notnull()

df.columns=['a','b','c','d']

df.dropna(how='any')

df.dropna(how='all')

df.dropna()

df.fillna(x)

df.fillna(s.mean())

s.astype(float)

s.replace(1,'one')

s.replace([1,3],['one','three'])

df.rename(columns=lambda x:x+1)

df.rename(columns={'oldcolname':'newcolumns'})

df.rename(index=lambda x:x+1)

df.set_index('colu1')

filter,sort ,groupby:

df[df[col]>10]

df[df[col] > 5 & df[col] <10]

df.sort_values(col1)

df.sort_values(col1,ascending=False)

df.sort_values([col1,col2],ascending=[False,True])

df.groupby([col1,col2])

df.groupby(col).agg(np.mean)

df.apply(np.mean)

df.apply(np.max,axis=1)  #across each row

df.pivot_table(index=col1,values=[col2,col3],aggfunc=mean)

join/combine:

pd.merge(lef,right,how='left/right/outer/inner/',on=['key1','key2'])  横向连接,用于将多个dataframe通过某个相同的键合并

为一个 pd.concat([df1,df2],axis=1)  可横向可纵向

Statistics:

df.describe() df.mean() df.corr() df.count() df.max() df.min() df.median() df.std()

pandas 学习总结的更多相关文章

  1. 用scikit-learn和pandas学习线性回归

    对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了. 1. 获取数据,定义问题 没有数据,当然没法研究机器学习 ...

  2. Pandas 学习笔记

    Pandas 学习笔记 pandas 由两部份组成,分别是 Series 和 DataFrame. Series 可以理解为"一维数组.列表.字典" DataFrame 可以理解为 ...

  3. Python pandas学习总结

    本来打算学习pandas模块,并写一个博客记录一下自己的学习,但是不知道怎么了,最近好像有点急功近利,就想把别人的东西复制过来,当心沉下来,自己自觉地将原本写满的pandas学习笔记删除了,这次打算写 ...

  4. pandas学习(数据分组与分组运算、离散化处理、数据合并)

    pandas学习(数据分组与分组运算.离散化处理.数据合并) 目录 数据分组与分组运算 离散化处理 数据合并 数据分组与分组运算 GroupBy技术:实现数据的分组,和分组运算,作用类似于数据透视表 ...

  5. pandas学习(创建多层索引、数据重塑与轴向旋转)

    pandas学习(创建多层索引.数据重塑与轴向旋转) 目录 创建多层索引 数据重塑与轴向旋转 创建多层索引 隐式构造 Series 最常见的方法是给DataFrame构造函数的index参数传递两个或 ...

  6. pandas学习(常用数学统计方法总结、读取或保存数据、缺省值和异常值处理)

    pandas学习(常用数学统计方法总结.读取或保存数据.缺省值和异常值处理) 目录 常用数学统计方法总结 读取或保存数据 缺省值和异常值处理 常用数学统计方法总结 count 计算非NA值的数量 de ...

  7. pandas学习(创建数据,基本操作)

    pandas学习(一) Pandas基本数据结构 Series类型数据 Dataframe类型 基本操作 Pandas基本数据结构 两种常用数据结构: Series 一维数组,与Numpy中的一维ar ...

  8. 用 scikit-learn 和 pandas 学习线性回归

      用 scikit-learn 和 pandas 学习线性回归¶ from https://www.cnblogs.com/pinard/p/6016029.html 就算是简单的算法,也需要跑通整 ...

  9. pandas学习系列(一):时间序列

    最近参加了天池的一个机场航空人流量预测大赛,需要用时间序列来预测,因此开始使用python的pandas库 发现pandas库功能的确很强大,因此在这记录我的pandas学习之路. # -*- cod ...

随机推荐

  1. HDU1789 Doing Homework again 做作业【贪心】

    题目链接:https://vjudge.net/problem/HDU-1789 题目大意: 给出N个作业的截至日期,和N个作业不交所扣掉的分数,要求输出扣除分数做少的方案. 解析: 与上一道销售商品 ...

  2. docker 搭建nginx

    docker pull nginx 先用docker 去把镜像拉下来 $ docker run --name tmp-nginx-container -d nginx $ docker cp tmp- ...

  3. 进程队列补充-创建进程队列的另一个类JoinableQueue

    JoinableQueue同样通过multiprocessing使用. 创建队列的另外一个类: JoinableQueue([maxsize]):这就像是一个Queue对象,但队列允许项目的使用者通知 ...

  4. C#的?和??

    1.?? 为了实现Nullable数据类型转换成non-Nullable类型数据,才有的一个操作符: 意义:一变量取值,取符号左边的值,若左边为null,那么取赋值??右边的: 栗子:int  a=3 ...

  5. Java基础之理解Annotation

    一.概念 Annontation是Java5开始引入的新特征.中文名称一般叫注解.它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类.方法.成员变量等)进行关 ...

  6. p4中如何rollback/backout merge/integration

    原文: http://answers.perforce.com/articles/KB_Article/How-To-Rollback-An-Integration 当我们需要将一个branch上的代 ...

  7. LINUX 修改SSH默认22端口的方法

    首先修改配置文件 vi /etc/ssh/sshd_config 找到#Port 22一段,这里是标识默认使用22端口,修改为如下: Port 22 Port 50000 然后保存退出 执行/etc/ ...

  8. 1.2 Stream API

    引例: List<String> strList = Arrays.asList("zhaojigang","nana","tianya& ...

  9. C# ConcurrentDictionary实现

    ConcurrentDictionary的源码看了很多遍,今天抽点时间整理一下,它的实现比Dictionary要复杂很多,至于线程安全我觉得比较简单,用的是lock的思想.首先我们来看看它的源码. p ...

  10. windows下php7.1安装redis扩展以及redis测试使用全过程(转)

    最近做项目,需要用到redis相关知识.在Linux下,redis扩展安装起来很容易,但windows下还是会出问题的.因此,特此记下自己实践安装的整个过程,以方便后来人. 一,php中redis扩展 ...