文章目录

  • 数据读写
  • 数据创建
  • 数据查看
  • 数据操作
  • 数据提取
  • 数据筛选
  • 数据统计
  • 操作数据表结构
  • 数据表合并
  • 修改列名
  • 插入一列

数据读写

代码 作用
df = pd.DataFrame(pd.read_csv(‘input.csv’,header=1)) 读取csv
df = pd.DataFrame(pd.read_excel(‘input.xlsx’)) 读取xlsx
df_inner.to_csv(‘output.csv’) 写入CSV
df_inner.to_excel(‘output.xlsx’, sheet_name=‘sheet1’) 写入Excel

设置列名dataframe.columns=['col1','col2','col3']

设置索引dataframe.set_index("col_name")

读取行数pd.read_csv(file_path,skiprows=9,nrows=10)

数据创建

代码 作用
pd.Series([1, 2, 3, 4, 5]) list创建Series
pd.date_range(‘20171022’, periods=6) 时间索引
pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list([‘c1’, ‘c2’, ‘c3’, ‘c4’])) 列标签
pd.DataFrame.from_dict({“A”:1, “B”:2, “C”:3}, orient=‘index’).T 字典创建

数据查看

代码 作用
df.shape 维度
df.info() 数据表基本信息(维度、列名称、数据格式、所占空间等)
df.dtypes 列数据的格式
df[‘Name’].dtype 某一列格式
df.isnull() 空值
df.isnull() 查看某一列空值
df[Name’].unique() 某一列的唯一值
df.values 数据表的值
df.columns 列名称
df.head() 查看前10行数据
df.tail() 查看后10行数据

数据操作

代码 作用
df.fillna(value=0) 数字0填充空值
df[‘prince’].fillna(df[‘prince’].mean()) 使用列prince的均值对NA进行填充
df[‘city’]=df[‘city’].map(str.strip) 清除city字段的字符空格
df[‘city’]=df[‘city’].str.lower() 大小写转换
df[‘price’].astype(‘int’) 更改数据格式
df.rename(columns={‘category’: ‘category-size’}) 更改列名称
df[‘city’].replace(‘sh’, ‘shanghai’) 数据替换
df1.dropna(how=‘any’) 去掉包含缺失值的行
df1.fillna(5) 对缺失值进行填充
pd.isnull(df1) 对缺失值进行布尔填充

数据提取

代码 作用
df_csv.loc[:, [‘chrom’, ‘q_value’]] 索引+列标签切片
df_csv.loc[0, [‘chrom’]]
df_csv.loc[0, ‘chrom’]
df_csv.at[0, ‘chrom’]
df_csv.iloc[1, 1]
df_csv.iat[1, 1]
提取一个标量
df_csv.iloc[3]
df_inner.loc[3]
提取一行
df_inner.iloc[0:5]
df_csv.iloc[3:5, 0:2]
df_csv.iloc[[1, 2, 4], [0, 2]]
df_csv.iloc[1:3, :]
df_inner.ix[:‘2013-01-03’,:4]
提取区域
df_inner[‘city’].isin([‘beijing’]) 判断city列的值是否为北京
df_inner.loc[df_inner[‘city’].isin([‘beijing’,‘shanghai’])] 判断city列里是否包含beijing和shanghai,然后将符合条件的数据提取出来
pd.DataFrame(category.str[:3]) 提取前三个字符,并生成数据表
df_csv.loc[:, [‘chrom’, ‘q_value’]] 索引+列标签切片

数据筛选

代码 作用
df_inner.loc[(df_inner[‘age’] > 25) & (df_inner[‘city’] == ‘beijing’), [‘id’,‘city’,‘age’,‘category’,‘gender’]] 使用“与”进行筛选
`df_inner.loc[(df_inner[‘age’] > 25) | (df_inner[‘city’] == ‘beijing’), [‘id’,‘city’,‘age’,‘category’,‘gender’]].sort([‘age’]) ```
df_inner.loc[(df_inner[‘city’] != ‘beijing’), [‘id’,‘city’,‘age’,‘category’,‘gender’]].sort([‘id’]) 使用“非”条件进行筛选
df_inner.loc[(df_inner[‘city’] != ‘beijing’), [‘id’,‘city’,‘age’,‘category’,‘gender’]].sort([‘id’]).city.count() 对筛选后的数据按city列进行计数
df_inner.query(‘city == [“beijing”, “shanghai”]’) 使用query函数进行筛选
df_inner.query(‘city == [“beijing”, “shanghai”]’).price.sum() 对筛选后的结果按prince进行求和

数据统计

代码 作用
df_inner.groupby(‘city’).count() 对所有的列进行计数汇总
df_inner.groupby(‘city’)[‘id’].count() 按城市对id字段进行计数
df_inner.groupby([‘city’,‘size’])[‘id’].count() 对两个字段进行汇总计数
df_inner.groupby(‘city’)[‘price’].agg([len,np.sum, np.mean]) 对city字段进行汇总,并分别计算prince的合计和均值
df_inner.sample(n=3) 简单的数据采样
weights = [0, 0, 0, 0, 0.5, 0.5]df_inner.sample(n=2, weights=weights) 手动设置采样权重
df_inner.sample(n=6, replace=False) 采样后不放回
df_inner.sample(n=6, replace=True) 采样后放回
df_inner.describe().round(2).T 数据表描述性统计
df_inner[‘price’].std() 计算列的标准差
df_inner[‘price’].cov(df_inner[‘m-point’]) 计算两个字段间的协方差
df_inner.cov() 数据表中所有字段间的协方差
df_inner[‘price’].corr(df_inner[‘m-point’]) 两个字段的相关性分析
相关系数在-1到1之间,接近1为正相关,接近-1为负相关,0为不相关
df_inner.corr() 数据表的相关性分析

操作数据表结构

代码 作用
df_inner.set_index(‘id’) 设置索引列
df_inner.sort_values(by=[‘age’]) 按照 age 列排序
df_inner.sort_index() 按照索引列排序
df_inner[‘group’] = np.where(df_inner[‘price’] > 3000,‘high’,‘low’) 如果prince列的值>3000,group列显示high,否则显示low
df_inner.loc[(df_inner[‘city’] == ‘beijing’) & (df_inner[‘price’] >= 4000), ‘sign’]=1 对复合多个条件的数据进行分组标记
pd.DataFrame((x.split(’-’) for x in df_inner[‘category’]),index=df_inner.index,columns=[‘category’,‘size’])) 对category字段的值依次进行分列,并创建数据表,索引值为df_inner的索引列,列名称为category和size
df_inner=pd.merge(df_inner,split,right_index=True, left_index=True) 将完成分裂后的数据表和原df_inner数据表进行匹配
df_inner.reset_index() 重设索引
df_inner=df_inner.set_index(‘date’) 设置日期为索引

数据表合并

代码 作用
df_inner=pd.merge(df,df1,how=‘inner’) 内连接(取两个集合的交集)
df_left=pd.merge(df,df1,how=‘left’) 左连接(以 df 为基准,df1 在 df 中无匹配则为空)
df_right=pd.merge(df,df1,how=‘right’) 右连接(以 df1 为基准,df 在 df1 中无匹配则为空)
df_outer=pd.merge(df,df1,how=‘outer’) 全连接(取两个集合的并集,包含有 df , df1 的全部数据行,无匹配则填充空)

修改列名

代码 作用
a.columns = [‘a’,‘b’,‘c’] 列名全部修改
a.rename(columns={‘A’:‘a’}, inplace = True) 修改部分列名

插入一列

代码 作用
frame.insert(0, ‘num’, 1) 在第一列插入名为num的列,值为1
frame.insert(0, ‘num’, np.[i for i in rang(10)], allow_duplicates=True) 在第一列插入名为num的列,值为1…10,允许有重复列

Python Pandas 用法速查表相关推荐

  1. 的确好用!Python数据科学速查表中文版强势来袭!

    1速查速记,不二之选! DataCamp 推出的 Python 数据科学速查表(中文版),一共 11 张表,包括:Python 基础.导入数据.Jupyter Notebook.Numpy 基础.Pa ...

  2. LightGBM用法速查表

    LightGBM用法速查表 1.读取csv数据并指定参数建模 # coding: utf-8 import json import lightgbm as lgb import pandas as p ...

  3. Python开发资源速查表

    Python开发资源速查表 Python实现算法和设计模式 algorithms - Python的一个算法模块. PyPattyrn - 一个用于实现常见设计模式的简单而有效的库. python-p ...

  4. 14 张Python数据科学速查表

    大家好,我是俊红. 今天给大家隆重推荐一个Python数据分析领域的大佬:小一,他也是公众号[小一的学习笔记]的号主! 小一是我的好友,从事数据分析行业近5年,擅长使用Python进行爬虫.数据处理和 ...

  5. python数据科学速查表_Python数据科学速查表:中级

    python数据科学速查表 The printable version of this cheat sheet 该备忘单的可打印版本 The tough thing about learning da ...

  6. 收藏 | Python数据分析必备速查表

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟  报道  | 公众号 CVLianMeng 转载于 :Github 推荐文章[点 ...

  7. [Github项目推荐] 机器学习 Python 知识点速查表

    2019年第 21 篇文章,总第 45 篇文章 今天推荐三份知识点的速查表,分别是机器学习.深度学习和 Python 三方面的知识点速查表.其中前两份都是来自斯坦福大学的课程,分别是 CS229 机器 ...

  8. 线性代数知识点总结_[Github项目推荐] 机器学习amp; Python 知识点速查表

    今天推荐三份知识点的速查表,分别是机器学习.深度学习和 Python 三方面的知识点速查表.其中前两份都是来自斯坦福大学的课程,分别是 CS229 机器学习 和 CS230 深度学习课程. 1. CS ...

  9. 分享一些Python导图与速查表

      给大家分享几张Python的数据科学速查表,给大家分享一些Python的学习资料,请惠存!我不会告诉你我是因为整理硬盘的时候发现压箱底的东西,不删占地方删了又太可惜了,所以贴到网上分享给大家的.突 ...

最新文章

  1. bootstrap-媒体对象-对齐
  2. Replace-iOS
  3. golang go语言_在7小时内学习快速简单的Go编程语言(Golang)
  4. 个人笔记-Nginx学习常见错误
  5. windows7下redis的安装实践
  6. G代码表《G代码大全》
  7. docker运行教程
  8. java date.set_解决Java Calendar类set()方法的陷阱
  9. 模拟淘宝侧边服务模块鼠标悬停效果的三种实现方式总结
  10. 引导最大内存_32位系统内存小的解决方法
  11. 如何看待大数据「杀熟」?
  12. 阵列天线相位加权 matlab,相控阵波束赋形,阵列天线设计实例
  13. 水仙花数JAVA代码实现
  14. linux无线网卡monitor模式,ubuntu下开启无线网卡的monitor mode
  15. ADB 自适应远光灯系统
  16. java word 超链接到文档内部_Java 添加、修改Word超链接
  17. 程序员薪资有多高?8大互联网大厂纷纷开奖,校招真的杀疯了|最值得投递的大厂|应届生必看
  18. Java高频面试题汇总(2022)
  19. arcgis10之将线转化成面
  20. 基于IAP和Keil MDK的远程升级设计

热门文章

  1. 自我实验——自律习惯实验
  2. 高数_第3章重积__二重积分的2个结论
  3. 鸿蒙系统有指关节截屏吗,华为p40pro怎么设置截屏
  4. Python网络爬虫:某度地图API获取城市餐厅数据 并提取内容展示结果
  5. Activiti工作流引擎基础入门【收藏可做笔记系列】
  6. 使用Flutter完成10个商业项目后的经验教训,2021大厂安卓面试集合
  7. 随着“过失导致死亡的诉讼案”要求 在发生灾难性的行人伤亡事件后, 关闭“北公园中心(NorthPark Center)
  8. 十二五中国电信宽带战略解析(三):规模与效益
  9. GEE学习笔记 八十三:【GEE之Python版教程十三】几何图形
  10. 用 PS 简单去文字