Pandas是基于Numpy构建的,包含多种高级数据结构和工具的数据分析包。Pandas中常用的数据结构有Series和DataFrame。其中Series是一维数组,DataFrame是二维的表格型数据结构。可以认为DataFrame是多个Series的集合。

1. 定义

1.1 Series定义

先从Series的操作说起,首先是定义,可以通过列表来生成Series。每个Series都包含value值和index索引。不指定index时,系统默认索引为从0开始的自然数序列。

import pandas as pd
s = pd.Series(data=['西瓜', '南瓜', '冬瓜', '哈密瓜'], index=['a', 'b', 'c', 'd'])
print(s)

结果:

D:\Python36\python.exe C:/Users/17653/Desktop/测试.py
a     西瓜
b     南瓜
c     冬瓜
d    哈密瓜
dtype: object

1.2 
DataFrame的定义

DataFrame的定义包含两种方式
(1) 由字典定义;
(2) 由Series定义的DataFrame会沿用Series的索引,行号等属性

import pandas as pd
s = pd.Series(data=['西瓜', '南瓜', '冬瓜', '哈密瓜'], index=['a', 'b', 'c', 'd'])
print(s)# 由字典定义
data = {'a': [1, 2, 3],'b': [2, 3, 4],'c': [3, 4, 5]}
df = pd.DataFrame(data, index=['row1', 'row2', 'row3'])
print(df)
# 由Series定义
df2 = pd.DataFrame([s, s], index=['row1', 'row2'])
print(df2)

结果:

D:\Python36\python.exe C:/Users/17653/Desktop/测试.py
a     西瓜
b     南瓜
c     冬瓜
d    哈密瓜
dtype: objecta  b  c
row1  1  2  3
row2  2  3  4
row3  3  4  5a   b   c    d
row1  西瓜  南瓜  冬瓜  哈密瓜
row2  西瓜  南瓜  冬瓜  哈密瓜

2.DataFrame的基础操作

我个人日常工作使用DataFrame数据结构比较多,对此作了一个总结。
对pandas提供的DataFrame数据结构进行操作,总让我有一种在使用Matlab的感觉,简单方便,可以通过切片,获取到任意想获取的片段。

2.1 数据切片操作

以1.2 DataFrame定义中的 df 为例,行列编号均从0开始。

df['a']                # 获取列名为‘a’的列,取出来类型为Series
df.loc['row1']          # 获取索引为‘row1’的行,取出来为Series
df.iloc[1,1]           # 获取行列号为(1,1)的元素
df.iloc[0:2, 1]        # 获取第0~1行,第1列的元素
# 不建议这样使用,会警告
df[df.a > 1][df.b > 3] # 获取df的‘a’列大于1且‘b’列大于3的元素
# 建议分开筛选
df2 = df[df.a > 1]
df3 = df2[df2.b > 3] 

结果:

      a   b   c
row1  11  22  33
row2   2   3   4
row3   3   4   5
获取列名为‘a’的列,取出来类型为Series
row1    11
row2     2
row3     3
Name: a, dtype: int64
获取索引为‘row1’的行,取出来为Series
a    11
b    22
c    33
Name: row1, dtype: int64
获取行列号为(1,1)的元素
3
获取第0~1行,第1列的元素
row1    22
row2     3
Name: b, dtype: int64
获取df的‘a’列大于1且‘b’列大于3的元素a   b   c
row1  11  22  33
row3   3   4   5

2.2 增加新列

可以通过多种方式为df增加新列

import pandas as pd
data = {'a': [11, 2, 3],'b': [22, 3, 4],'c': [33, 4, 5]}
df = pd.DataFrame(data, index=['row1', 'row2', 'row3'])
print(df)
df['NewColumn'] = [1,2,3]
df['Num'] = 1  #增加‘Num’列,值全为1
df['NullColumn'] = pd.Series('', index=df.index)  #定义列,赋空值
print(df)

结果:

D:\Python36\python.exe C:/Users/17653/Desktop/测试.pya   b   c
row1  11  22  33
row2   2   3   4
row3   3   4   5a   b   c  NewColumn  Num NullColumn
row1  11  22  33          1    1
row2   2   3   4          2    1
row3   3   4   5          3    1       

后续接着整理一下数据处理中的空值处理、维度汇总、DataFrame的合并和轴向连接、读写Excel文件等等操作。加油

Python Pandas常用数据结构Series和DataFrame快速上手相关推荐

  1. Python Pandas 常用的数据结构有哪些?详解Series、DataFrame、Index数据结构。

    Pandas常用数据结构 Pandas简介 Series 构建 Series 对象 通过数组/列表 通过ndarray 通过dict 指定index Series 数据结构 查看 Series 数据 ...

  2. Python Pandas 的使用——Series

    Python Pandas 的使用--Series Pandas是一个强大的分析结构化数据的工具集:它的使用基础是Numpy(提供高性能的矩阵运算):用于数据挖掘和数据分析,同时也提供数据清洗功能. ...

  3. blankcount函数python,Python pandas常用函数详解

    本文研究的主要是pandas常用函数,具体介绍如下. 1 import语句 2 文件读取 df = pd.read_csv(path='file.csv') 参数:header=None 用默认列名, ...

  4. Pandas系列(一):数据结构(Series、DataFrame、时间序列)

    Pandas系列目录 文章目录 一. 简介 二. 思维导图 三. Pandas数据结构 1. Series 1.1 简介 1.2 创建Series 1.3 Series属性 1.4 索引切片 1.4. ...

  5. 【Python】Python常用的Series 和 Dataframe处理方法

    Series 和 Dataframe格式的数据处理工作,有很多常用的也比较巧妙的小方法,现总结下,方便理解应用. 本文会已方法基础格式+代码样例的形式加以讲解说明. 一 基础方法介绍 Series 和 ...

  6. pandas两个数据结构Series与DataFrame使用

    seires 对象 1.创建一个series对象 Series() 语法:s=pd.Series(data,index=index) 参数说明: data:表示数据,支持Python字典.多维数组.标 ...

  7. [转载] pandas入门:Series、DataFrame、Index基本操作都有了!

    参考链接: 带有Pandas的Python:带有示例的DataFrame教程 导读:pandas是一款开放源码的BSD许可的Python库.它基于NumPy创建,为Python编程语言提供了高性能的. ...

  8. 【Pandas总结】第一节 Pandas 简介与Series,DataFrame的创建

    文章目录 一.Pandas 简介 二.Pandas 数据结构 2.1 Series (一维数据) 2.2 DataFrame(二维数据) 三.Series 的创建 3.1 由数创建 3.2 由列表创建 ...

  9. pandas教程:series和dataframe

    起步 pandas是一种Python数据分析的利器,是一个开源的数据分析包,最初是应用于金融数据分析工具而开发出来的,因此pandas为时间序列分析提供了很好的支持.pandas是PyData项目的一 ...

  10. python3-pandas 数据结构 Series、DataFrame 基础

    Pandas 应用 Pandas 的主要数据结构是 Series (一维数据)与 DataFrame(二维数据),这两种数据结构足以处理金融.统计.社会科学.工程等领域里的大多数典型用例. 数据结构 ...

最新文章

  1. 编程之美2015资格赛 题目2 : 回文字符序列 [ 区间dp ]
  2. Django开发社交类网站必备的10个第三方应用
  3. Cloud for Customer work center的数据是如何从ABAP Netweaver返回给前端的
  4. 将Chrome调试器里的JavaScript变量保存成本地JSON文件
  5. 物理搬砖问题_全职业通用,搬砖市场装备
  6. 钥匙计数之一(HDU-1483)
  7. 用四张图说清楚Go程序调度的本质
  8. 支持色温调节 新款Kindle Oasia上市 国行版售价2399元起
  9. MySQL 函数积累
  10. 基于FPGA----VGA显示跳动的小白框设计
  11. clickhouse 物化视图_再谈clickHouse:微博基于 ClickHouse 监控百亿流量下的指标
  12. SQL*Plus生成html文件
  13. 百亿级全网舆情分析系统存储设计
  14. HTML制作用户登录界面
  15. python内置库和标准库的区别_python标准库和第三方库的区别
  16. Hibernate 学习的书-夏昕(1)
  17. React实战之React+Redux实现一个天气预报小项目
  18. fortran - 用函数进行kind定义
  19. VUE之多元素组件过渡+动画封装
  20. 金蝶登录服务器不显示名称,金蝶云服务器如何登陆不了

热门文章

  1. 页面导出excel的三种方式
  2. ubuntu上编译fortran_Ubuntu下安装Intel Fortran编译器(ifort)
  3. Moodle安装指导手册
  4. shell脚本学习指南——好书推荐
  5. python爬虫毕业论文大纲参考模板_毕业论文提纲参考模板
  6. windows内核开发笔记九:内核开发分页内存与非分页内存
  7. 计算机5800计算道路标高程序,CASIOfx-5800p计算器土木工程测量计算程序开发与应用...
  8. Android gallery 3D效果(扩展Gallery)
  9. html页面数学公式添加(附图)
  10. php pager,fleaphp常用方法分页之Pager使用方法