Pandas介绍(panel + data + analysis)

为什么使用Pandas
        便捷的数据处理能力
        读取文件方便
        封装了Matplotlib、Numpy的画图和计算

Pandas的核心数据结构(DataFrame+Panel+Series)

3大核心结构:

DataFrame
            Panel
            Series

1、DataFrame

DataFrame
    结构:既有行索引,又有列索引的二维数组
    属性:
        shape
        index
        columns
        values
        T
    方法:
        head()
        tail()
    3 DataFrame索引的设置
        1)修改行列索引值
        2)重设索引
        3)设置新索引

简单demo:

import numpy as np
import pandas as pd def demo():
data = np.random.normal(0, 1, (10, 5))
print(data)
# 添加行索引
stock = [
"股票{}".format(i) for i in range(10)
]
pd.DataFrame(data, index=stock)
# 添加列索引
date = pd.date_range(start="20180101", periods=5, freq="B") if __name__ == '__main__':
demo()

1、结构:

2、属性

shape +  index  +  columns  + values  +      T

data = np.random.normal(0, 1, (10, 5))

3、方法

head()   : 默认返回数据的前5行,head(3),返回前3行

tail() :默认返回数据的后5行,tail(3),返回后3行

4、DataFrame索引的设置

1)修改行列索引值: 只能整体修改,不能单独修改索引
       2)重设索引
       3)设置新索引

import numpy as np
import pandas as pd def demo():
data = np.random.normal(0, 1, (10, 5))
print(data)
# 添加行索引
stock = [
"股票{}".format(i) for i in range(10)
]
pd.DataFrame(data, index=stock) # 1、添加列索引
date = pd.date_range(start="20180101", periods=5, freq="B") # 修改行列索引值:整体修改,不能单独修改某一个
# 【错误】 data.index[2] = "股票88" --》 不能单独修改索引
stock_ = ["股票_{}".format(i) for i in range(10)]
data.index = stock_ # 2、重设索引
data.reset_index(drop=False) # False: 不删除原索引, True删除原索引h, 默认False # 3、设置某列的新索引,创建新的dataframe
df = pd.DataFrame({'month': [1, 4, 7, 10],
'year': [2012, 2014, 2013, 2014],
'sale': [55, 40, 84, 31]})
# 以月份设置新的索引
df.set_index("month", drop=True) # 设置多个索引,以年和月份(具有多索引的DataFrame,可用于三维数组)
new_df = df.set_index(["year", "month"]) if __name__ == '__main__':
demo()

MultiIndex与Panel

1、MultiIndex

import pandas as pd

def demo():
df = pd.DataFrame({'month': [1, 4, 7, 10],
'year': [2012, 2014, 2013, 2014],
'sale': [55, 40, 84, 31]})
new_df = df.set_index(["year", "month"]) print(new_df.index) # 索引列表
print(new_df.index.names) # 索引名称 if __name__ == '__main__':
demo()

2、Panel

panel我们通常看做pandas的容器,没办法直接看3维数据,只能从某一个维度出发看另外2个二维的数据

Series

数据挖掘---Pandas的学习的更多相关文章

  1. pandas的学习总结

    pandas的学习总结 作者:csj更新时间:2017.12.31 email:59888745@qq.com 说明:因内容较多,会不断更新 xxx学习总结: 回主目录:2017 年学习记录和总结 1 ...

  2. Hadoop里的数据挖掘应用-Mahout——学习笔记<三>

    之前有幸在MOOC学院抽中小象学院hadoop体验课. 这是小象学院hadoop2.X的笔记 由于平时对数据挖掘做的比较多,所以优先看Mahout方向视频. Mahout有很好的扩展性与容错性(基于H ...

  3. 机器学习如何选择模型 & 机器学习与数据挖掘区别 & 深度学习科普

    今天看到这篇文章里面提到如何选择模型,觉得非常好,单独写在这里. 更多的机器学习实战可以看这篇文章:http://www.cnblogs.com/charlesblc/p/6159187.html 另 ...

  4. pandas库学习笔记(二)DataFrame入门学习

    Pandas基本介绍——DataFrame入门学习 前篇文章中,小生初步介绍pandas库中的Series结构的创建与运算,今天小生继续“死磕自己”为大家介绍pandas库的另一种最为常见的数据结构D ...

  5. Pandas基础学习与Spark Python初探

    摘要:pandas是一个强大的Python数据分析工具包,pandas的两个主要数据结构Series(一维)和DataFrame(二维)处理了金融,统计,社会中的绝大多数典型用例科学,以及许多工程领域 ...

  6. 初步了解pandas(学习笔记)

    1 pandas简介 pandas 是一种列存数据分析 API.它是用于处理和分析输入数据的强大工具,很多机器学习框架都支持将 pandas 数据结构作为输入. 虽然全方位介绍 pandas API ...

  7. pandas时间序列学习笔记

    目录 创建一个时间序列 pd.date_range() info() asfred() shifted(),滞后函数 diff()求差分 加减乘除 DataFrame.reindex() 通过data ...

  8. pandas包学习笔记

    目录 zip Importing & exporting data Plotting with pandas Visual exploratory data analysis 折线图 散点图 ...

  9. pandas库学习笔记(一)Series入门学习

    Pandas基本介绍: pandas is an open source, BSD-licensed (permissive free software licenses) library provi ...

随机推荐

  1. js中对象和对象创建方法

    这一次我们来说一说在JavaScript中经常会用到的一个复杂基本类型,对象,先从对象的属性讲起,再讲对象的创建方法,基本涵盖了创建对象的各种方法,大家一起学习呀~ 一.对象 要掌握对象的使用及继承, ...

  2. React Native 入门基础知识总结

    中秋在家闲得无事,想着做点啥,后来想想,为啥不学学 react native.在学习 React Native 时, 需要对前端(HTML,CSS,JavaScript)知识有所了解.对于JS,可以看 ...

  3. python的partial()用法说明

    在functools模块中有一个工具partial(),可以用来"冻结"一个函数的参数,并返回"冻结"参数后的新函数. 很简单的解释,也是官方手册给的示例.对于 ...

  4. Go基础系列:struct和嵌套struct

    struct struct定义结构,结构由字段(field)组成,每个field都有所属数据类型,在一个struct中,每个字段名都必须唯一. 说白了就是拿来存储数据的,只不过可自定义化的程度很高,用 ...

  5. 大话DI依赖注入+IOC控制反转(二) 之 浅析.Net Core中的DI与IOC

      转发时请注明原创作者及地址,否则追究责任.原创:alunchen 在上一篇文章中,我们聊了很多关于定义的方面,比较孤燥,下面我们结合.Net Core聊一下依赖注入&控制反转. 三种对象生 ...

  6. .Net NPOI 根据excel模板导出excel、直接生成excel

    一.根据Excel模板导出excel 1.导入NPOI.dll  2.DAL中添加类ExportExcel.cs using NPOI.SS.UserModel; using System; usin ...

  7. WebAPI参数传值string转bool,int转bool相关问题

    今天在公司同事问了我一个问题,用postman传递json字符串给接口,接口获取到的值不正确. 我就看到下面的json数据: { "Mark":"1" } 接口 ...

  8. 腾讯防水墙(滑动验证码)的简单使用 https://007.qq.com

    在线体验:https://007.qq.com/online.html 快速开始:https://007.qq.com/quick-start.html 简单使用: 1. 引入 JS <scri ...

  9. eclipse下SpringMVC+Maven+Mybatis+MySQL项目搭建

    这篇文章主要讲解使用eclipse对Spirng+SpringMVC+Maven+Mybatis+MySQL项目搭建过程,包括里面步骤和里面的配置文件如何配置等等都会详细说明. 接下来马上进入项目搭建 ...

  10. C#窗体越界时鼠标还能回到初始坐标位置

    对窗体加越界限制后,鼠标拖动窗体越界时,窗体不能动,鼠标位置可动,但窗体不再越界时,鼠标位置还能回到鼠标按下时相对窗体的坐标:1.首先创建一个窗体Form1,然后在窗体上拖一个button1按钮(主要 ...