from pandas import Series, DataFrame, Index
import numpy as np
from numpy import nan as NA obj = Series(range(3), index=['a', 'b', 'c'])
print(obj)
index = obj.index
print(index)
print(index[1:])
# index[1] = 'd' index对象时不可以被修改的 为了安全和共享 index = Index(np.arange(3))
obj2 = Series([1.5, -2.6, 0], index=index)
print(obj2.index is index)
# 嵌套字典(字典的字典)
pop = {
'nevada': {
2001: 2.4,
2002: 2.9
},
'ohio': {
2000: 1.5,
2001: 1.7,
2002: 3.6
}
}
frame3 = DataFrame(pop)
frame3.index.name = 'year'
frame3.columns.name = 'state'
print(frame3)
print('ohio' in frame3.columns)
print(2003 in frame3.index) # index有很多的方法和属性(有时间呢,可以摸索一下) # reindex创建适应新索引的新对象(这里我不是很懂)
obj = Series([2.3, 4.5, -23.3, 4.3], index=['d', 'b', 'a', 'c'])
print(obj)
obj2 = obj.reindex(['a', 'b', 'c', 'd', 'e'])
print(obj2) # 索引和值一一对应,根据新索引进行重排
obj2 = obj.reindex(['a', 'b', 'c', 'd', 'e'], fill_value=0)
print(obj2) # 索引不存在,可以引入缺失值 obj3 = Series(['blue', 'purple', 'yellow'], index=[0, 2, 4])
print(obj3)
# obj3 = obj3.reindex(range(6), method='ffill') # 或者pad
# print(obj3) # 向前值填充
obj3 = obj3.reindex(range(6), method='bfill') # 或者pad
print(obj3) # 向后值填充 # 成员资格方法
data = DataFrame({'qu1': [1, 3, 4, 3, 4], 'qu2': [2, 3, 1, 2, 3], 'qu3': [1, 5, 2, 4, 4]})
print(data) # 处理缺失数据
string = Series(['aar', 'art', np.nan, 'avo'])
print(string)
print(string.isnull()) # 过滤掉缺失数据
data = Series([1, NA, 3.5, NA, 7])
print(data.dropna()) # 过滤掉NA
print(data.notnull()) data = DataFrame([[1, 6.5, 3], [1, NA, NA], [NA, NA, NA], [NA, 6.5, 3]])
print(data)
print(data.dropna()) # 丢弃掉含有NA的所有行
print(data.dropna(how='all')) # 丢我掉全为NA的行
data[4] = NA
print(data)
print(data.dropna(axis=1, how='all')) # 丢弃掉全为NA的列 df = DataFrame(np.random.randn(7, 3))
df.ix[:4, 1] = NA # 要钱也要后
df.ix[:2, 2] = NA
print(df)
print(df.dropna(thresh=3)) # thresh对应的值是观测的数据个数 # 填充缺失数据
print(df.fillna(0))
print(df.fillna({1: 0.4})) # 指定的列进行填充
_ = df.fillna(0, inplace=True) # 本地填充修改, 不产生新对象
print(df) df = DataFrame(np.random.randn(6, 3))
df.ix[2:, 1] = NA # 要钱也要后
df.ix[4:, 2] = NA
print(df)
print(df.fillna(method='ffill')) # 向前填充
print(df.fillna(method='ffill', limit=2)) # 填充限制 data = Series([1, NA, 3.5, NA, 7])
print(data)
print(data.fillna(data.mean())) # 用平均值填充na值

pandas 入门(2)的更多相关文章

  1. 利用Python进行数据分析——pandas入门

    利用Python进行数据分析--pandas入门 基于NumPy建立的 from pandas importSeries,DataFrame,import pandas as pd 一.两种数据结构 ...

  2. Python 数据处理库 pandas 入门教程

    Python 数据处理库 pandas 入门教程2018/04/17 · 工具与框架 · Pandas, Python 原文出处: 强波的技术博客 pandas是一个Python语言的软件包,在我们使 ...

  3. 利用python进行数据分析之pandas入门

    转自https://zhuanlan.zhihu.com/p/26100976 目录: 5.1 pandas 的数据结构介绍5.1.1 Series5.1.2 DataFrame5.1.3索引对象5. ...

  4. 利用python进行数据分析--pandas入门2

    随书练习,第五章  pandas入门2 # coding: utf-8 # In[1]: from pandas import Series,DataFrame import pandas as pd ...

  5. 利用python进行数据分析--pandas入门1

    随书练习,第五章  pandas入门1 # coding: utf-8 # In[1]: from pandas import Series, DataFrame # In[2]: import pa ...

  6. pandas 入门(3)

    from pandas import Series, DataFrame, Index import numpy as np # 层次化索引 对数据重塑和分组操作很有用 data = Series(n ...

  7. < 利用Python进行数据分析 - 第2版 > 第五章 pandas入门 读书笔记

    <利用Python进行数据分析·第2版>第五章 pandas入门--基础对象.操作.规则 python引用.浅拷贝.深拷贝 / 视图.副本 视图=引用 副本=浅拷贝/深拷贝 浅拷贝/深拷贝 ...

  8. 程序员用于机器学习编程的Python 数据处理库 pandas 入门教程

    入门介绍 pandas适合于许多不同类型的数据,包括: · 具有异构类型列的表格数据,例如SQL表格或Excel数据 · 有序和无序(不一定是固定频率)时间序列数据. · 具有行列标签的任意矩阵数据( ...

  9. 《利用python进行数据分析》读书笔记--第五章 pandas入门

    http://www.cnblogs.com/batteryhp/p/5006274.html pandas是本书后续内容的首选库.pandas可以满足以下需求: 具备按轴自动或显式数据对齐功能的数据 ...

  10. pandas入门

    [原]十分钟搞定pandas   本文是对pandas官方网站上<10 Minutes to pandas>的一个简单的翻译,原文在这里.这篇文章是对pandas的一个简单的介绍,详细的介 ...

随机推荐

  1. Linux学习--第一天--Unix 、 Linux 发展史,Linux应用领域

    UNIX发展史 肯·汤姆森开发出linux. 肯·汤姆森的同事丹尼斯·里奇在1971年开发了C语言. 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP PA-RISC Sol ...

  2. 029-实现阿里云主机VPC网络SDN结构

  3. 北京师范大学第十五届ACM决赛-重现赛 B Borrow Classroom (树 ——LCA )

    链接:https://ac.nowcoder.com/acm/contest/3/B 来源:牛客网 Borrow Classroom 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 2 ...

  4. 写了一个简单可用的IOC

    根据<架构探险从零开始写javaweb框架>内容写的一个简单的 IOC 学习记录    只说明了主要的类,从上到下执行的流程,需要分清主次,无法每个类都说明,只是把整个主线流程说清楚,避免 ...

  5. if_else

    //if.......else if......else //object IF_ELSE {// def main(args:Array[String]){// var x=30// if (x== ...

  6. Centos7没有Ifconfig命令该怎么办?

    centos7没有ifconfig命令该怎么办? linux系统查看ip地址常用命令是[ifconfig],CentOS 7.0最小安装是没有ifconfig命令怎么办?当然可用[ip addr]查看 ...

  7. nacos 动态刷新@ConfigurationProperties

    使用@ConfigurationProperties 可以替换@value   @ConfigurationProperties @Value 注解功能 可以批量注入配置文件中的属性 只能一个个指定注 ...

  8. vue开发知识点总结

    一.vue介绍 Vue.js 是一套构建用户界面(UI)的渐进式JavaScript框架,是一个轻量级MVVM(model-view-viewModel)框架. 二.数据绑定 最常用的方式:Musta ...

  9. Word快捷选取

    在word中,你知道鼠标单击选中一个词,双击选中一行,三击选中一个段落吗?

  10. 【NOIP2016提高A组模拟7.17】寻找

    题目 Bob和Alice出去度蜜月,但Alice不慎走失,Bob在伤心过后,决定前去寻找Alice. 他们度蜜月的地方是一棵树,共有N个节点,Bob会使用下列DFS算法对该树进行遍历. startin ...