安装pandas

通过python pip安装pandas

pip install pandas

pandas数据结构

pandas常用数据结构包括:Series和DataFrame

Series

Series是一种一维的数组型对象,包含一个值序列(与numpy中的数据类型相似),数据标签(称为索引(index))。

import pandas as pd

# 创建Series对象
obj=pd.Series([4,5,6,7])
print(obj)
0    4
1 5
2 6
3 7
dtype: int64

左边为索引,右边为值,默认索引从0到n-1(n为数据长度),可以通过values属性和index属性分别获得Series对象的值和索引

print(obj.values)
array([4, 5, 6, 7], dtype=int64)
print(obj.index)
RangeIndex(start=0, stop=4, step=1)
# 自定义索引序列
obj2=pd.Series([4,5,6,7],index=['a','b','d','e'])
print(obj2,'\n') # 输出索引
print(obj2.index)
a    4
b 5
d 6
e 7
dtype: int64 Index(['a', 'b', 'd', 'e'], dtype='object')

Series对象可以使用标签来进行索引

# 输出索引为b的元素
print(obj2['b']) # 输出索引为a,d,e的元素
print('* '*10)
print(obj2[['a','d','e']])
5
* * * * * * * * * *
a 4
d 6
e 7
dtype: int64

Series对象也能使用布尔值进行过滤

# 输出值大于5的元素
print(obj2[obj2>5])
d    6
e 7
dtype: int64

DataFrame

DataFrame表示矩阵的数据表,包含已排序的列集合,每一列可以是不同的的值类型(数值、字符串、布尔值等)

DataFrame既有行索引,也有列索引,可以被视为一个共享相同索引的Series的字典

# 创建DataFrame对象
data={'age':[18,18,18,20,20,20],'name':['a','b','c','aa','bb','cc'],'height':[180,180,180,182,182,182]}
frame=pd.DataFrame(data)
print(frame)
   age name  height
0 18 a 180
1 18 b 180
2 18 c 180
3 20 aa 182
4 20 bb 182
5 20 cc 182

DataFrame也可以用columns参数指定列索引顺序排列

frame=pd.DataFrame(data,columns=['name','age','height'])
print(frame)
  name  age  height
0 a 18 180
1 b 18 180
2 c 18 180
3 aa 20 182
4 bb 20 182
5 cc 20 182

如果传的列参数不在字典中,将会出现缺失值

frame=pd.DataFrame(data,columns=['name','age','height','addition'])
print(frame)
print(frame.columns)
  name  age  height addition
0 a 18 180 NaN
1 b 18 180 NaN
2 c 18 180 NaN
3 aa 20 182 NaN
4 bb 20 182 NaN
5 cc 20 182 NaN
Index(['name', 'age', 'height', 'addition'], dtype='object')

DataFrame的一列可以按字典型标记或属性那样索引为Series

frame=pd.DataFrame(data,columns=['name','age','height'])
print(frame['name'])
print(frame.age)
0     a
1 b
2 c
3 aa
4 bb
5 cc
Name: name, dtype: object
0 18
1 18
2 18
3 20
4 20
5 20
Name: age, dtype: int64

行也可以通过位置或特殊属性loc进行索引

frame=pd.DataFrame(data,columns=['name','age','height'])
print(frame.loc[2])
name        c
age 18
height 180
Name: 2, dtype: object

初探pandas——安装和了解pandas数据结构的更多相关文章

  1. python安装numpy和pandas

    最近要对一系列数据做同比比较,需要用到numpy和pandas来计算,不过使用python安装numpy和pandas因为linux环境没有外网遇到了很多问题就记下来了.首要条件,python版本必须 ...

  2. pandas教程1:pandas数据结构入门

    pandas是一个用于进行python科学计算的常用库,包含高级的数据结构和精巧的工具,使得在Python中处理数据非常快速和简单.pandas建造在NumPy之上,它使得以NumPy为中心的应用很容 ...

  3. [转] python安装numpy和pandas

    最近要对一系列数据做同比比较,需要用到numpy和pandas来计算,不过使用python安装numpy和pandas因为linux环境没有外网遇到了很多问题就记下来了.首要条件,python版本必须 ...

  4. Python入门之安装numpy和pandas

    最近要对一系列数据做同比比较,需要用到numpy和pandas来计算,不过使用python安装numpy和pandas因为linux环境没有外网遇到了很多问题就记下来了. 首要条件,python版本必 ...

  5. pandas安装以及出现的问题

    pandas安装以及出现的问题 1.pandas 安装 pandas是Python的第三方库,所以使用前需要安装一下,直接使用pip install pandas就会自动安装,安装成功后显示的以下的信 ...

  6. 【转载】python安装numpy和pandas

    转载:原文地址 http://www.cnblogs.com/lxmhhy/p/6029465.html 最近要对一系列数据做同比比较,需要用到numpy和pandas来计算,不过使用python安装 ...

  7. Windows下下载及安装numpy、pandas及简单应用

    下载numpy 下载地址 https://pypi.python.org/pypi/numpy 进入网站,下载和自己电脑及电脑中安装的python匹配的numpy版本.我的电脑是Win 10 x64位 ...

  8. Python离线断网情况下安装numpy、pandas和matplotlib等常用第三方包

    联网情况下在命令终端CMD中输入“pip install numpy”即可自动安装,pandas和matplotlib同理一样方法进行自动安装. 工作的电脑不能上外网,所以不能通过直接输入pip命令来 ...

  9. python2.7安装numpy、pandas、matplotlib库

    我装的是python2.7 然后pip的版本是18.1,最近使用pip install **安装包的时候总是会提示 You are using pip version 18.1, however ve ...

随机推荐

  1. java实现SPFA算法

    1 问题描述 何为spfa(Shortest Path Faster Algorithm)算法? spfa算法功能:给定一个加权连通图,选取一个顶点,称为起点,求取起点到其它所有顶点之间的最短距离,其 ...

  2. java实现递归连续数

    递归连续数 以下程序打印出0~9的数字,请补充缺少的代码. public class MyTest { public static void f(int begin, int end) { _____ ...

  3. Java实现第九届蓝桥杯三体攻击

    三体攻击 [题目描述] 三体人将对地球发起攻击.为了抵御攻击,地球人派出了 A × B × C 艘战舰,在太空中排成一个 A 层 B 行 C 列的立方体.其中,第 i 层第 j 行第 k 列的战舰(记 ...

  4. java实现第四届蓝桥杯幸运数

    幸运数 题目描述 幸运数是波兰数学家乌拉姆命名的.它采用与生成素数类似的"筛法"生成. 首先从1开始写出自然数1,2,3,4,5,6,- 1 就是第一个幸运数. 我们从2这个数开始 ...

  5. 第03组 Alpha(2/4)

    队名:不等式方程组 组长博客 作业博客 团队项目进度 组员一:张逸杰(组长) 过去两天完成的任务: 文字/口头描述: 制定了初步的项目计划,并开始学习一些推荐.搜索类算法 GitHub签入纪录: 暂无 ...

  6. STM32学习笔记——printf

    printf复习 当我们写printf("%d\n", 1);的时候,printf函数并不能通过C语言语法得知第二个参数是int类型.printf是一个变参函数(variadic ...

  7. ROS 机器人技术 - 解决 ROS_INFO 不能正确输出 string 的问题!

    一.输出「??」 项目调试一个节点,打印 ROS 信息时发现设置的节点名称都是问号: ROS_INFO("[%s]: camera_extrinsic_mat", kNodeNam ...

  8. Spring AOP 之二:Pointcut注解表达式

    简介 在Spring AOP概述中我们重点注意的是AOP的整体流程和Advice,简化了一些其他的东西,其中就有一些对灵活应用Spring AOP很重要的知识点,例如Pointcut表达式,下面就介绍 ...

  9. Linux中使用expect脚本实现远程机器自动登录_linux shell

    首先创建一个expect脚本ssh_expect,文件内容如下: #!/usr/bin/expect -f set hostname [lindex $argv 0] set user [lindex ...

  10. Nirvana【思维+暴力优化】

    Nirvana 题目链接(点击) Kurt reaches nirvana when he finds the product of all the digits of some positive i ...