[译]Pandas常用命令对照清单

news/2024/7/5 14:00:18
  • 我们在内容中使用以下简写:
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...


http://www.niftyadmin.cn/n/3268816.html

相关文章

轻松拿下插入排序

轻松拿下插入排序&#xff01;&#xff01;&#xff01;1、插入排序2、优化插入排序 - 二分插入排序1、插入排序 什么是插入排序&#xff1f; 重点在插入&#xff0c;每次抽离一个元素当作临时元素&#xff0c;依次比较和移动之后 核心规则&#xff1a; 在第一轮&#xff0c;…

利用 Django admin 完成更多任务(转)

利用 Django admin 完成更多任务 Django admin Django 为未来的开发人员提供了许多功能&#xff1a;一个成熟的标准库&#xff0c;一个活跃的用户社区&#xff0c;以及 Python 语言的所有好处。虽然其他 Web 框架也声称能提供同样的内容&#xff0c;但 Django 的独特之处在于它…

轻松理解递归的基本思想

轻松理解递归思想&#xff01;&#xff01;&#xff01;1、递归相关概念2、递归的实现1、递归相关概念 我们先来看一个耳熟能详的故事&#xff1a; 从前有座山&#xff0c;山里有座庙&#xff0c;庙里有个老和尚&#xff0c;正在给小和尚讲故事&#xff0c;故事的内容是&#…

轻松拿下快速排序

快速排序&#xff01;拿下&#xff01;&#xff01;&#xff01;快速排序是现在编程语言自带排序函数中&#xff0c;使用的最多的算法 例如常见的&#xff1a;List.sort() 同时&#xff0c;也是面试最喜欢面试的排序算法&#xff0c;没有之一 实现的原理、复杂度都有一定的难度…

java线程池的简单描述

1、概述线程池 Java里面线程池的顶级接口是Executor&#xff0c;但是严格意义上讲Executor并不是一个线程池&#xff0c;而只是一个执行线程的工具。 真正的线程池接口是ExecutorService。下面这张图完整描述了线程池的类体系结构。 Executor是一个顶层接口&#xff0c;在它里面…

【Java】轻松掌握链表操作

基于节点的数据结构——链表1.1 什么是链表1.2 链表的读取与查找1.3 链表的插入1.4 链表的删除1.5 链表 vs 数组1.6 双向链表1.1 什么是链表 在数组存储的过程中&#xff0c;数组的存储必须使用连续的内存空间&#xff0c;并且会预留一部分空间方便扩展。这样在内存中会大大降…

python基础之核心风格

阅读目录 一.语句和语法二.变量定义与赋值三.内存管理内存管理&#xff1a;引用计数&#xff1a;简单例子四.python对象五.标识符六.专用下划线标识符七.编写模块基本风格八.示范一.语句和语法 &#xff03;&#xff1a;注释 \:转译回车&#xff0c;继续上一行&#xff0c;在一…

【Java】轻松掌握栈的基本操作

轻松掌握栈的基本操作1、栈的基本概念2、栈的实现3、栈常见的算法题目1、栈的基本概念 如何理解栈 对于栈&#xff0c;首先列举一个生活案例&#xff0c;家里的厨房通常都放有很多盘子。每次洗好的盘子总是堆叠在一起&#xff0c;如图所示&#xff0c;ABC三个盘子&#xff1a…