pandas入门(1)
import pandas as pd
import numpy as np
# 自动创建索引
obj = pd.Series([4, 7, -5, 2])
print(obj, type(obj))
print(obj.values)
print(obj.index) # 自己创建索引
obj2 = pd.Series([2, 5, -32, 3], index=['a', 'b', 'c', 'd'])
print(obj2)
print(obj2['a']) # 通过索引拿取值
print(obj2[['a', 'c']]) # 数组运算
print(obj2[obj2 > 0])
print(obj2 * 2)
print('b' in obj2) # 可以通过字典来创建Series
sdata = {'zhangbo': 110, 'zhangwu': 150}
obj3 = pd.Series(sdata)
print(obj3)
# 自动找到对应的索引
states = ['zhangwu', 'zhangbo', 'zhangkai']
obj4 = pd.Series(sdata, index=states)
print(obj4)
print(pd.isnull(obj4))
print(pd.notnull(obj4))
print(obj4.isnull())
print(obj3 + obj4) # name属性
obj4.name = 'sea'
obj4.index.name = 'state'
print(obj4) # 索引通过赋值方式进行修改
obj.index = ['bob', 'steve', 'jeff', 'ryan']
print(obj) # DataFrame第二种pandas中的数据类型,表格型数据结构,数据框
# 既有行索引,又有列索引
data = {
'state': ['ohio', 'ohio', 'ohio', 'nevada', 'nevada'],
'year': [2000, 2001, 2002, 2001, 2002],
'pop': [1.5, 1.7, 3.6, 2.4, 2.9]
}
# 自动创建索引 0 - N-1
frame = pd.DataFrame(data)
print(frame)
# 按指定列进行排列
frame = pd.DataFrame(data, columns=['year', 'state', 'pop'])
print(frame) # 传入的列找不到数据,则产生NA值, 可以自己创建索引
frame2 = pd.DataFrame(data, columns=['year', 'state', 'pop', 'debt'], index=['one', 'two', 'three', 'four', 'five'])
print(frame2)
print(frame2.columns) # 单独打印列的名称
print(frame2['state']) # 获取列
print(frame2.ix['two']) # 获取行
frame2['debt'] = 16.5 # 修改列的值
frame2['debt'] = np.arange(5) # 自增
print(frame2)
# 列表或者数组赋值给列, Series精确匹配
val = pd.Series([-23, 3, -4], index=['two', 'four', 'five'])
frame2['debt'] = val
print(frame2)
# 为不存在的列赋值会创造一个新列
frame2['eastern'] = frame2.state == 'ohio'
print(frame2)
del frame2['eastern'] # 关键字del用于删除列
print(frame2) # 嵌套字典(字典的字典)
pop = {
'nevada': {
2001: 2.4,
2002: 2.9
},
'ohio': {
2000: 1.5,
2001: 1.7,
2002: 3.6
}
}
frame3 = pd.DataFrame(pop)
print(frame3) # 内层的键会合并形成最终的索引,如果指定索引,则不会这样
print(frame3.T) # 进行转置
frame3 = pd.DataFrame(pop, index=[2001, 2002, 2003]) # 如果指定索引,则不会这样
print(frame3)
# data数据类型是可以切割的
pdata = {
'ohio': frame3['ohio'][:-1],
'nevada': frame3['nevada'][:2]
}
frame4 = pd.DataFrame(pdata)
print(frame4)
# 设置index和columns的name属性,这些信息也会被显现出来
frame3.index.name = 'year'
frame3.columns.name = 'state'
print(frame3)
print(frame3.values) # 单独获取值
print(frame2.values)
pandas入门(1)的更多相关文章
- 利用Python进行数据分析——pandas入门
利用Python进行数据分析--pandas入门 基于NumPy建立的 from pandas importSeries,DataFrame,import pandas as pd 一.两种数据结构 ...
- Python 数据处理库 pandas 入门教程
Python 数据处理库 pandas 入门教程2018/04/17 · 工具与框架 · Pandas, Python 原文出处: 强波的技术博客 pandas是一个Python语言的软件包,在我们使 ...
- 利用python进行数据分析之pandas入门
转自https://zhuanlan.zhihu.com/p/26100976 目录: 5.1 pandas 的数据结构介绍5.1.1 Series5.1.2 DataFrame5.1.3索引对象5. ...
- 利用python进行数据分析--pandas入门2
随书练习,第五章 pandas入门2 # coding: utf-8 # In[1]: from pandas import Series,DataFrame import pandas as pd ...
- 利用python进行数据分析--pandas入门1
随书练习,第五章 pandas入门1 # coding: utf-8 # In[1]: from pandas import Series, DataFrame # In[2]: import pa ...
- pandas 入门(3)
from pandas import Series, DataFrame, Index import numpy as np # 层次化索引 对数据重塑和分组操作很有用 data = Series(n ...
- < 利用Python进行数据分析 - 第2版 > 第五章 pandas入门 读书笔记
<利用Python进行数据分析·第2版>第五章 pandas入门--基础对象.操作.规则 python引用.浅拷贝.深拷贝 / 视图.副本 视图=引用 副本=浅拷贝/深拷贝 浅拷贝/深拷贝 ...
- 程序员用于机器学习编程的Python 数据处理库 pandas 入门教程
入门介绍 pandas适合于许多不同类型的数据,包括: · 具有异构类型列的表格数据,例如SQL表格或Excel数据 · 有序和无序(不一定是固定频率)时间序列数据. · 具有行列标签的任意矩阵数据( ...
- 《利用python进行数据分析》读书笔记--第五章 pandas入门
http://www.cnblogs.com/batteryhp/p/5006274.html pandas是本书后续内容的首选库.pandas可以满足以下需求: 具备按轴自动或显式数据对齐功能的数据 ...
- pandas入门
[原]十分钟搞定pandas 本文是对pandas官方网站上<10 Minutes to pandas>的一个简单的翻译,原文在这里.这篇文章是对pandas的一个简单的介绍,详细的介 ...
随机推荐
- 解决tcp粘包
粘包现象:只有tcp协议才会产生粘包,udp协议不会产生粘包 1.tcp协议下,发送端会采用一个优化算法(Nagle算法),把间隔时间短,数据比较小的包合并到一起,再一起发送过去,造成粘包 2.发送端 ...
- 自然语言处理资源NLP
转自:https://github.com/andrewt3000/DL4NLP Deep Learning for NLP resources State of the art resources ...
- Java数据封装成树形结构,多级
参考地址:https://blog.csdn.net/chendu500qiang/article/details/91493147 1.实体类 @data public class PublishS ...
- 从输入URL到页面加载到底发生了什么
很多初学网络或者前端的初学者大多会有这样一个疑问:从输入URL到页面加载完成到底发生了什么?总的来说,这个过程分为下面几个步骤:1.DNS解析2.与服务器建立连接3.服务器处理并返回http报文4.浏 ...
- MySQL简版(一)
第一章 数据库的基本概念 1.1 数据库的英文单词 Database,简称DB. 1.2 什么是数据库? 用于存储和管理数据的仓库. 1.3 数据库的特点 持久化存储数据的.其实数据库就是一个文件系统 ...
- Django【第25篇】:后端CORS解决跨域问题
解决跨域问题 一.为什么会有跨域问题? 是因为浏览器的同源策略是对ajax请求进行阻拦了,但是不是所有的请求都给做跨域,像是一般的href属性,a标签什么的都不拦截. 二.解决跨域问题的两种方式 JS ...
- 配置apache密码认证
配置apache密码认证 apache提供了一系列的认证,授权,访问控制模块,我们这里选用最方便的mod_auth_basic,mod_authn_file,mod_authz_user这三个 ...
- onload + setTimeout 用法,制作广告弹框效果
一般来说,只有 <body>,<img>, <link>, <script>,<frame>, <frameset>, < ...
- margin属性以及垂直外边距重叠问题
盒子的margin属性 盒子的外边距margin 指的是当前盒子与其他盒子之间的距离,环绕在盒子周围的空白区域,属于不可见的区域,,不会影响到可见框的大小,而是会影响到盒子的位置 ...
- POJ 3764 The xor-longest Path ( 字典树求异或最值 && 异或自反性质 && 好题好思想)
题意 : 给出一颗无向边构成的树,每一条边都有一个边权,叫你选出一条路,使得此路所有的边的异或值最大. 分析 : 暴力是不可能暴力的,这辈子不可能暴力,那么来冷静分析一下如何去做.假设现在答案的异或值 ...