[译]Pandas常用命令对照清单
- 我们在内容中使用以下简写:
df pandas的DataFrame对象
s pandas的Series对象
- 导入以下包开始
import pandas as pd
import numpy as np
导入数据
pd.read_csv(filename) 从csv导入
pd.read_table(filename) 从分隔的文本文件导入
pd.read_excel(filename) 从excel文件导入
pd.read_sql(query, connection_object) 从SQL数据库读取
pd.read_json(json_string) 读取json格式的字符串、URL或文件
pd.read_html(url) 解析html的url,字符串或者文件,从一系列的dataframes提取table
pd.read_clipboard() 获取剪切板的内容,将其传递给read_table
pd.DataFrame(dict) 从dict获取DataFrame,键名为栏目名,值为一系列的列表
导出数据
df.to_csv(filename) 写入csv文件
df.to_excel(filename) 写入excel文件
df.to_sql(table_name, connection_object) 写入SQL数据库(表)
df.to_json(filename) 以json文件的形式写入
df.to_html(filename) 保存成html格式
df.to_clipboard() 写进剪贴板
创建测试对象
pd.DataFrame(np.random.rand(20,5)) 生成5列20行的随机浮点数
pd.Series(my_list) 用可迭代列表创造一列数据
df.index = pd.date_range('1900/1/30',periods=df.shape[0]) 增加一个日期索引
查看数据
df.head(n) DataFrame开头的n行记录
df.tail(n) DataFrame结尾的n行记录
df.shape() DataFrame行、列数
df.info() 展示Index,Datatype,Memory相关信息
df.describe() 数字列的相关综合统计
s.value_counts(dropna=False) 查看某一列唯一的值并统计数量
df.apply(pd.Series.value_counts) 查看所有的列唯一的值并统计数量
数据选择
df[col] 取出标签是col的一列
df[[col1, col2]] 作为DataFrame返回两列
s.iloc[0] 根据位置选择
s.loc[0] 根据索引选择
df.iloc[0,:] 第一行
df.iloc[0,0] 第一列的第一个元素
数据清洗
df.columns = ['a','b','c']重命名列
pd.isnull() 确认是否为空值,返回布尔数组
pd.notnull() 与上面相反
df.dropna() 删除所有包含null值的行记录
df.dropna(axis=1) 删除所有包含null值的列记录
df.dropna(axis=1,thresh=n) 删除所有包含少于n个非空值的行
df.fillna(s.mean()) 用平均值替换掉所有空值
s.astype(float) 将某series的数据转换成float的数据类型
s.replace(1,'one') 将所有值等于1的替换为one
s.replace([1,3], ['one','three']) 将所有值等于1的替换为one,3替换为three
df.rename(columns=lambda x:x+1) 取上一般性的标题名
df.rename(columns={'old_name':'new_name'}) 指定列名重命名
df.set_index('column_one') 修改索引
过滤,排序和分组
df[df[col] > 0.5] col列值大于0.5的行
df[(df[col] >0.5) & (df[col] <0.7)] col列值大于0.5小于0.7的行
df.sort_values(col1) 按照col1进行升序进行排列
df.sort_values(col2,ascending=False) 根据col2进行降序排列
df.sort_values([col1,col2],ascending=[True,False]) 根据col1升序col2降序联合排列
df.groupby(col) 根据某列的值返回分组对象
df.groupby([col1,col2]) 根据多列的值返回分组对象
df.groupby(col1)[col2].mean() 根据col1值返回分组对象,求col2列的平均值
df.pivot_table(index=col1,values=[col2,col3],aggfunc=mean)
创建一个按col1分组的数据透视表,并计算col2和col3的平均值
df.groupby(col1).agg(np.mean) 查找每个唯一col1组的所有列的平均值
df.apply(np.mean) 给每一列都计算平均值
df.apply(np.max, axis=1) 找出每一行的最大值
数据连接
df1.append(df2) 将df1的数据添加在df2下方(列必须相同)
df.concat([df1,df2],axis=1) 将df2的数据加载df1右侧(行必须相同)
df1.join(df2,on=col1,how='inner')SQL的方式加入列df1与列在df2其中对于行col具有相同的值。how参数可以为'left','right','outer','inner'
数学统计
df.describe() 显示总体统计的汇总状况
df.mean() 返回所有列的平均值
df.corr() 返回Dataframe列之间的相关关系
df.count() 返回Dataframe列中的非空值数量
df.max() 返回Dataframe列中的最大值
df.min() 返回Dataframe列中的最低值
df.median() 返回Dataframe每列的中位数
df.std() 返回Dataframe每列的标准差
原文来源:
https://www.dataquest.io/blog/large_files/pandas-cheat-sheet.pdf
[译]Pandas常用命令对照清单的更多相关文章
- Pandas常用命令
一.数据导入和导出 (一)读取csv文件 1.本地读取 import pandas as pd df = pd.read_csv('tips.csv') #根据自己数据文件保存的路径填写(p.s. p ...
- MongoDB与Mysql常用命令解释
原文 本文旨在介绍MongoDB,Mysql的常用命令:将MongoDB 和传统的关系型数据库的常用命令对照起来学习,更加便于记忆和理解. MongoDB是由数据库(database/reposito ...
- Git常用命令清单笔记
git github 小弟调调 2015年01月12日发布 赞 | 6收藏 | 45 5k 次浏览 这里是我的笔记,记录一些git常用和一些记不住的命令,这个笔记原本是基于 颜海镜的文章增加 ...
- Git版本控制软件结合GitHub从入门到精通常用命令学习手册(转)
简要参考:http://www.tuicool.com/articles/mEvaq2 http://gitref.org/zh/index.html GIT 学习手册简介 本站为 Git 学习参考手 ...
- 20145222《信息安全系统设计基础》Linux常用命令汇总
学习Linux时常用命令汇总 通过Ctrl+f键可在该网页搜索到你想要的命令. Linux中命令格式为:command [options] [arguments] //中括号代表是可选的,即有些命令不 ...
- Git 基本概念及常用命令
一.基本概念 文件的三种状态:(任何一个文件在git中都有以下三种状态) 1) 已提交(committed):表示该文件已经被安全地保存在本地数据库中了. 2) 已修改(modified):表示修改了 ...
- Android学习第三天-签名常用命令
由于怕篇幅过长,所以把这个打包常用命令分开成两篇博文来进行讲解,下面我们直接进入主题吧. 8.keytool 这是我们JDK自带的密钥和证书管理工具 命令: -certreq 生成证书请求 -chan ...
- Android学习第三天-打包常用命令
在前面<Android学习第一天-adb常用命令>和 <Android学习第二天-android常用命令>两篇博文中,我们重点讲解了adb和android的常用命令,下面我们讲 ...
- git log 常用命令及技巧
git log常用命令以及技巧 1.git log 如果不带任何参数,它会列出所有历史记录,最近的排在最上方,显示提交对象的哈希值,作者.提交日期.和提交说明.如果记录过多,则按Page Up.Pag ...
随机推荐
- jquery实现ajax提交表单
一般情况下,我们提交form表单采用的是submit的方法,典型的场景如下. <form id="thisForm" method="post" acti ...
- 【转】JAVA处理线程超时
在实际业务中,由其是多线程并开业务中,经常会遇到某个线程执行超时.而程序如果不捕获这类情况,就会导致程序一直处于等待状态,从而影响后续线程的运行.比如说网络通迅.单任务下的复杂数据库查询等,通常处理这 ...
- intellij IDEA里各图标对应的文件类型
本篇内容为大家提供的是IntelliJ IDEA 使用教程中的常见文件类型的图标介绍,IntelliJ IDEA是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一, ...
- SparkStreaming读取Kakfa数据时发生OffsetOutOfRangeException异常
参考文章:http://www.jianshu.com/p/791137760c14 运行SparkStreming程序一段时间后,发现产生了异常: ERROR JobScheduler: Error ...
- Mysql 5.6到5.7的mysql.user改变
很久没配置mysql.昨天在centos服务器上装了个mysql,desc user的时候,找不到password column,看了官方API 才知道原来的password已经修改为authenti ...
- 二分查找(折半查找)C++
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好,占用系统内存较少: 其缺点是要求待查表为有序表,且插入删除困难. 因此,折半查找方法适用于不经常变动而查找频繁的有序列表. 首先,假设表 ...
- ES6 函数的扩展(1)
1. 函数参数的默认值 基本用法 在ES6之前,不能直接为函数的参数指定默认值,为了避免这个问题,通常需要先判断一下参数y是否被赋值,如果没有,再等于默认值. ES6允许为函数的参数设置默认值,即直接 ...
- SQL数据库语句
on xxx --主文件 ( name=‘xxxx’, fliename='里面写文件放的路径\xxxx.mdf', size=xxMB, filegrowth=xxMB, maxsize=xxMB ...
- shader 2 : use shaderToy in unity
shadertoy 原型,https://www.shadertoy.com/view/XslGRr 先说几个概念 Shader language目前有3种主流语言:基于OpenGL的GLSL(Ope ...
- php 理解
<?php class t { var $num; var $dynamic_function; public function dynamic_function() { $func = $th ...