初探pandas——安装和了解pandas数据结构
安装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数据结构的更多相关文章
- python安装numpy和pandas
最近要对一系列数据做同比比较,需要用到numpy和pandas来计算,不过使用python安装numpy和pandas因为linux环境没有外网遇到了很多问题就记下来了.首要条件,python版本必须 ...
- pandas教程1:pandas数据结构入门
pandas是一个用于进行python科学计算的常用库,包含高级的数据结构和精巧的工具,使得在Python中处理数据非常快速和简单.pandas建造在NumPy之上,它使得以NumPy为中心的应用很容 ...
- [转] python安装numpy和pandas
最近要对一系列数据做同比比较,需要用到numpy和pandas来计算,不过使用python安装numpy和pandas因为linux环境没有外网遇到了很多问题就记下来了.首要条件,python版本必须 ...
- Python入门之安装numpy和pandas
最近要对一系列数据做同比比较,需要用到numpy和pandas来计算,不过使用python安装numpy和pandas因为linux环境没有外网遇到了很多问题就记下来了. 首要条件,python版本必 ...
- pandas安装以及出现的问题
pandas安装以及出现的问题 1.pandas 安装 pandas是Python的第三方库,所以使用前需要安装一下,直接使用pip install pandas就会自动安装,安装成功后显示的以下的信 ...
- 【转载】python安装numpy和pandas
转载:原文地址 http://www.cnblogs.com/lxmhhy/p/6029465.html 最近要对一系列数据做同比比较,需要用到numpy和pandas来计算,不过使用python安装 ...
- Windows下下载及安装numpy、pandas及简单应用
下载numpy 下载地址 https://pypi.python.org/pypi/numpy 进入网站,下载和自己电脑及电脑中安装的python匹配的numpy版本.我的电脑是Win 10 x64位 ...
- Python离线断网情况下安装numpy、pandas和matplotlib等常用第三方包
联网情况下在命令终端CMD中输入“pip install numpy”即可自动安装,pandas和matplotlib同理一样方法进行自动安装. 工作的电脑不能上外网,所以不能通过直接输入pip命令来 ...
- python2.7安装numpy、pandas、matplotlib库
我装的是python2.7 然后pip的版本是18.1,最近使用pip install **安装包的时候总是会提示 You are using pip version 18.1, however ve ...
随机推荐
- java实现SPFA算法
1 问题描述 何为spfa(Shortest Path Faster Algorithm)算法? spfa算法功能:给定一个加权连通图,选取一个顶点,称为起点,求取起点到其它所有顶点之间的最短距离,其 ...
- java实现递归连续数
递归连续数 以下程序打印出0~9的数字,请补充缺少的代码. public class MyTest { public static void f(int begin, int end) { _____ ...
- Java实现第九届蓝桥杯三体攻击
三体攻击 [题目描述] 三体人将对地球发起攻击.为了抵御攻击,地球人派出了 A × B × C 艘战舰,在太空中排成一个 A 层 B 行 C 列的立方体.其中,第 i 层第 j 行第 k 列的战舰(记 ...
- java实现第四届蓝桥杯幸运数
幸运数 题目描述 幸运数是波兰数学家乌拉姆命名的.它采用与生成素数类似的"筛法"生成. 首先从1开始写出自然数1,2,3,4,5,6,- 1 就是第一个幸运数. 我们从2这个数开始 ...
- 第03组 Alpha(2/4)
队名:不等式方程组 组长博客 作业博客 团队项目进度 组员一:张逸杰(组长) 过去两天完成的任务: 文字/口头描述: 制定了初步的项目计划,并开始学习一些推荐.搜索类算法 GitHub签入纪录: 暂无 ...
- STM32学习笔记——printf
printf复习 当我们写printf("%d\n", 1);的时候,printf函数并不能通过C语言语法得知第二个参数是int类型.printf是一个变参函数(variadic ...
- ROS 机器人技术 - 解决 ROS_INFO 不能正确输出 string 的问题!
一.输出「??」 项目调试一个节点,打印 ROS 信息时发现设置的节点名称都是问号: ROS_INFO("[%s]: camera_extrinsic_mat", kNodeNam ...
- Spring AOP 之二:Pointcut注解表达式
简介 在Spring AOP概述中我们重点注意的是AOP的整体流程和Advice,简化了一些其他的东西,其中就有一些对灵活应用Spring AOP很重要的知识点,例如Pointcut表达式,下面就介绍 ...
- Linux中使用expect脚本实现远程机器自动登录_linux shell
首先创建一个expect脚本ssh_expect,文件内容如下: #!/usr/bin/expect -f set hostname [lindex $argv 0] set user [lindex ...
- Nirvana【思维+暴力优化】
Nirvana 题目链接(点击) Kurt reaches nirvana when he finds the product of all the digits of some positive i ...