初探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实现 LeetCode 129 求根到叶子节点数字之和
129. 求根到叶子节点数字之和 给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字. 例如,从根到叶子节点路径 1->2->3 代表数字 12 ...
- Java实现 LeetCode 128 最长连续序列
128. 最长连续序列 给定一个未排序的整数数组,找出最长连续序列的长度. 要求算法的时间复杂度为 O(n). 示例: 输入: [100, 4, 200, 1, 3, 2] 输出: 4 解释: 最长连 ...
- Java实现蓝桥杯G将军
G将军有一支训练有素的军队,这个军队除开G将军外,每名士兵都有一个直接上级(可能是其他士兵,也可能是G将军).现在G将军将接受一个特别的任务,需要派遣一部分士兵(至少一个)组成一个敢死队,为了增加队员 ...
- 第03组团队Git现场编程实战
1.组员职责分工 张逸杰:复制监督整个编程任务的进程以及协助组员编程 黄智锋.刘汪洋:负责UI设计 苏凯婷.鲍冰如:爬取数据并负责测评出福州最受欢迎的商圈 陈荣杰.杨锦镔:爬取数据并负责测评出福州人均 ...
- tensorflow2.0学习笔记第二章第一节
2.1预备知识 # 条件判断tf.where(条件语句,真返回A,假返回B) import tensorflow as tf a = tf.constant([1,2,3,1,1]) b = tf.c ...
- KVM NAT(网络地址转换模式)
NAT(网络地址转换模式) 使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网.也就是说,使用NAT模式可以实现在虚拟系统里访问互联网.很显然,如果你只有一 ...
- 2020/06/05 JavaScript高级程序设计 函数表达式
函数表达式 函数定义的两种方式: 函数声明(函数声明提升,非标准name属性可访问给函数指定的名字) 函数声明提升:执行代码前先读取函数声明 function functionName(arg0, a ...
- jreble备注
版本:2019.1.4 激活URL:http://jrebel.pyjuan.com/36931214-7bb6-42d4-afd7-26eb5628e004
- ServiceStack.Redis 5.8 版本去掉每小时 6000 次访问限制
ServiceStack.Redis这个官方 Redis 访问组件从4.0版本后开始商业化了,在使用的时候会有很多限制: 1.类型限制 类型限制是20,这个组件自带序列化功能,使得我们可以直接把对象保 ...
- PAT 1043 Is It a Binary Search Tree (25分) 由前序遍历得到二叉搜索树的后序遍历
题目 A Binary Search Tree (BST) is recursively defined as a binary tree which has the following proper ...