Pandas主要有两种数据结构,series和dataframe。

Series是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成,即index和values两部分,可以通过索引的方式选取Series中的单个或一组值。创建series可使用

import pandas as pd
pd.Series(list,index=[ ])

第二个参数是Series中数据的索引,可以省略。

主要常用的是Dataframe,是一个表格型的数据类型,每列值类型可以不同。创建dataframe可用:

pd.DataFrame(data,columns = [ ],index = [ ])
如:
data = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada', 'Nevada'],'year': [2000, 2001, 2002, 2001, 2002, 2003],'pop': [1.5, 1.7, 3.6, 2.4, 2.9, 3.2]}
pd.DataFrame(data, columns=['year', 'state', 'pop'],
index=['one', 'two', 'three', 'four', 'five', 'six'])

从csv和excel读入数据:

df = pd.DataFrame(pd.read_csv('xxx.csv',header=1))
df = pd.DataFrame(pd.read_excel('xxx.xlsx'))

(注:以下常用的用加粗标注)

查看表信息:

  • df1.shape   维度查看
  • df1.info()  基本信息查看
  • df1.dtypes  每一列的数据格式
  • df1['some_column'].dtype  某一列的数据格式
  • df1.isnull  是否空值
  • df1['some column'].unique  某一列的唯一值
  • df1.values  查看数据表的值
  • df1.columns  查看列名称
  • df1.head/df.tail  查看前/后五行

数据访问:

  • df1.loc[3]  访问行
  • df1['city']  访问列
  • df1=df1.set_index('index')  设置日期为索引
  • df1[:'2020-10-27']  提取10月27日之前所有数据
  • df1.iloc[:3,:2]  使用iloc按位置区域访问数据,前三行,前两列
  • df1.iloc[[0,2,6],[6,8]]  访问0,2,6行,6,8列
  • df1.ix[:'2020-10-27', :4]  使用ix按索引标签和位置混合访问数据, 2020.10.27之前,前四列数据
  • df1['city'].isin(['chengdu'])  判断city列的值是否为成都
  • df1.loc[df1['city'].isin(['chongqing', 'chengdu'])]  将city列里是重庆或成都的数据提取出来
  • pd.DataFrame(category.str[:3])  提取前三个字符,并生成数据表

数据筛选:

  • df1.loc[(df1['age']>25)&(df1['city']=='chengdu'), ['id', 'city', 'age', 'gender']]  使用与筛选。或|
  • df1.loc[(df1['city'] != 'chengdu'), ['id', 'city', 'age', 'gender']].sort(['id']).city.count()  对筛选后的数据按city列进行计数
  • df1.query('city == ['chengdu', 'chongqing']')  使用query函数进行筛选
  • df1.query('city == ['chengdu', 'chongqing']').price.sum()  对筛选后的结果price进行求和

数据汇总

  • df1.groupby('city').count()  按城市对所有列进行计数
  • df1.groupby('city')['id'].count()  按城市对id字段进行计数
  • df1.groupby(['city', 'size'])['id'].count()  对两个字段进行汇总计数
  • df1.groupby('city')['price'].agg([len, np.sum, np.mean])  对city字段进行汇总,并分别计算price的和与均值

数据统计:

  • df1.sample(n=3)  简单的数据采样
  • df1.sample(n=2, weights=[0, 0, 0, 0, 0.5, 0.5])  手动设置采样权重
  • df1.sample(n=6, replace=False)  采样后不放回(True为放回)
  • df1.describe().round(2).T  数据表描述性统计(round函数设置显示小数位,T表示转置)
  • df1['price'].std()  计算列的标准差
  • df1['price'].cov(df1['m-point'])  计算两个字段间的协方差(df1.cov() 为计算所有字段间的协方差)
  • df1['price'].corr(df1['m-point'])  两个字段的相关性分析(-1到1之间,1正相关,0不相关,-1负相关)
  • df1.corr()  对数据表的相关性分析

数据表清洗:

  • df.fillna(value=0)  用0填充空值
  • df['ages'].fillna(df['ages'].mean())  用平均年龄填充年龄空值
  • df['city']=df['city'].str.lower  清除city字段的字符空格
  • df['city']=df['city'].str.lower()  大小写转换
  • df['price'] = df['price'].astype('float')  更改数据格式
  • df.rename(coulmns={'category': 'category2'})   更改列名称
  • df['name'].drop_duplicates(keep='last')  删除先出现的重复值,默认是删除后面的重复值
  • df['city'].replace('cd', 'Chengdu')

数据预处理

表合并

  • df_merged = pd.merge(df1, df2, how='inner')  表连接 how包括'inner, 'left', 'right', 'outer'
  • df_appended = pd1.append(df2)  表格2加入到表格1
  • result = pd1.join(pd2, on='key')
  • result = pd.concat([df1, df2, df3], axis=0, join='outer',join_axes=None...copy=True)

其他处理

  • df1.set_index('id')  设置索引列
  • df1.sort_index()  按照索引列排序
  • df1.sort_values(by=['age'])  按照特定列的值排序
  • df1['group']=np.where(df['age']>60, 'old','young')  如果age大于60,group显示old,否则显示young
  • df1.loc[(df1['city']=='chengdu')&(df['salary']>=8000), 'sign']=1  对满足多个条件的数据进行分组标记

数据输出

  • df1.to_csv('./xxxxx.csv')  写入到csv
  • df1.to_excel('xxxxx.xlsx', sheet_name='hello')

Pandas库常用知识记录相关推荐

  1. 数据分析一、 pandas库基础知识

    pandas库基础知识 一.jupyter 代码编辑器 概述:Python 数据分析库介绍 二.pandas 库基础知识 (1)常用的Series属性与方法: (2) DataFrame常用方法 1. ...

  2. Pandas库常用函数和操作

    目录 1. DataFrame 处理缺失值  dropna() 2. 根据某维度计算重复的行   duplicated().value_counts() 3. 去重  drop_duplicates( ...

  3. Python之Pandas库常用函数大全(含注释)

    前言:本博文摘抄自中国慕课大学上的课程<Python数据分析与展示>,推荐刚入门的同学去学习,这是非常好的入门视频. 继续一个新的库,Pandas库.Pandas库围绕Series类型和D ...

  4. pandas 库前置知识

    pandas 库 Pandas 创建一个 Series 对象 pd.Series() 创建一个 DataFrame 对象 pd.DataFrame() 数据清洗 缺失值 NaN 查找缺失值 isna( ...

  5. 总结(5)--- Numpy和Pandas库常用函数

    二.常用库 1.NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对整组数据进行快速运算的标准 ...

  6. Pandas库(2):数据的统计分析

    1.0 Pandas 中的数据类型: Series Dataframe 一维 二维的.表格型 每个元素都有各自的标签(数字/字符) 可储存多个不同类型数据,每个轴都有标签 可视为一个由带标签的元素组成 ...

  7. python数据分析的钥匙——pandas库

    目录 系列文章目录 一. 关于pandas库: 二. pandas库的安装 三. pandas的两种基本数据结构--Series 与 DataFrame(附代码) 四. pandas库的应用(附代码) ...

  8. Python学习笔记(十七)——Pandas库

    数组只能存储一种类型的数据, 同时, 数组提供了许多方便统计计算的功能 (如平均值 mean .标准差 std 等) pandas与numpy的区别 pandas 是基于 numpy 数组构的, 但 ...

  9. python中pandas格式_Python学习笔记之数据分析中Pandas常用知识

    前言 Pandas基于两种数据类型:series与dataframe. 一个series是一个一维的数据类型,其中每一个元素都有一个标签.series类似于Numpy中元素带标签的数组.其中,标签可以 ...

最新文章

  1. 手把手教你搭建 ELK 实时日志分析平台
  2. ThroughRain第一次冲刺(每天更新)
  3. 使用async await 封装 axios
  4. 编写测试用例的方法_适合小白的测试用例编写方法,一看就会!
  5. 笑脸符号怎么存入mysql_让MySql支持Emoji表情存储
  6. 网站开发与客户之间的流程
  7. 用大白话彻底搞懂 HBase RowKey 详细设计
  8. vbs按钮传递过程_哈希传递攻击仍然是一种威胁
  9. N76E003的学习之路(一)
  10. CCF NOI1121 逆波兰表达式
  11. 使用group by rollup和group by cube后的辅助函数
  12. SCM供应链管理系统解决方案:助力企业采购流程高效运行,全面降低供应链风险
  13. Number 数字类型详解
  14. 没有MsVCp140如何安装MysQl,怎样安装msvcp140.dll_msvcp140.dll安装教程
  15. 哪吒故里之争:讲好地方故事,真这么难?
  16. CTFSHOW 萌新赛 萌新记忆
  17. QT Desinger设计程序主界面 PyUIC生成.py
  18. 太酷了,手把手教你用 Python 绘制桑基图
  19. 2020最新pycharm汉化安装(亲测有效)
  20. 我们的Twitter帐号http://twitter.com/cosmocommerce

热门文章

  1. 《SQL必知必会(第五版)》数据库导入
  2. 在Android中访问内置SE和基于SE的卡模拟(一)
  3. php红包互助源码_互助盘源码php
  4. 最大数和最小数(排序)
  5. Delphi处理高速文件上传下载的代码及思路
  6. MATLAB 快速标注序列日期
  7. java web孤傲苍狼,JavaWeb学习笔记
  8. NC 登录时,报“java.lang.reflect.UndeclaredThrowableException:null”错误
  9. Android 地理位置定位
  10. Tp5.0完全开发手册学习(第八章 模型)