数据挖掘---Pandas的学习
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的学习的更多相关文章
- pandas的学习总结
pandas的学习总结 作者:csj更新时间:2017.12.31 email:59888745@qq.com 说明:因内容较多,会不断更新 xxx学习总结: 回主目录:2017 年学习记录和总结 1 ...
- Hadoop里的数据挖掘应用-Mahout——学习笔记<三>
之前有幸在MOOC学院抽中小象学院hadoop体验课. 这是小象学院hadoop2.X的笔记 由于平时对数据挖掘做的比较多,所以优先看Mahout方向视频. Mahout有很好的扩展性与容错性(基于H ...
- 机器学习如何选择模型 & 机器学习与数据挖掘区别 & 深度学习科普
今天看到这篇文章里面提到如何选择模型,觉得非常好,单独写在这里. 更多的机器学习实战可以看这篇文章:http://www.cnblogs.com/charlesblc/p/6159187.html 另 ...
- pandas库学习笔记(二)DataFrame入门学习
Pandas基本介绍——DataFrame入门学习 前篇文章中,小生初步介绍pandas库中的Series结构的创建与运算,今天小生继续“死磕自己”为大家介绍pandas库的另一种最为常见的数据结构D ...
- Pandas基础学习与Spark Python初探
摘要:pandas是一个强大的Python数据分析工具包,pandas的两个主要数据结构Series(一维)和DataFrame(二维)处理了金融,统计,社会中的绝大多数典型用例科学,以及许多工程领域 ...
- 初步了解pandas(学习笔记)
1 pandas简介 pandas 是一种列存数据分析 API.它是用于处理和分析输入数据的强大工具,很多机器学习框架都支持将 pandas 数据结构作为输入. 虽然全方位介绍 pandas API ...
- pandas时间序列学习笔记
目录 创建一个时间序列 pd.date_range() info() asfred() shifted(),滞后函数 diff()求差分 加减乘除 DataFrame.reindex() 通过data ...
- pandas包学习笔记
目录 zip Importing & exporting data Plotting with pandas Visual exploratory data analysis 折线图 散点图 ...
- pandas库学习笔记(一)Series入门学习
Pandas基本介绍: pandas is an open source, BSD-licensed (permissive free software licenses) library provi ...
随机推荐
- MySQL集群结构说明
在以前,数据库的集群配置一直很难,难点在于MySQL主从结构的高可用和读写分离.万幸的是,Galera/GR的出现,让整个集群的配置都极大程度地简化了. 以下是一个简单的MySQL集群拓扑图: 1.M ...
- java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.SpecialProvider.<init>()
Caused by: org.apache.ibatis.builder.BuilderException: Error invoking SqlProvider method (tk.mybatis ...
- 【转】AJAX中JSON数据的返回处理问题
AJAX处理复杂数据时,便会使用JSON格式.常用在对数据库的数据查询上.在数据库查询到数据后,便可在处理页面直接将数据转为JSON格式,然后返回. 本篇主要讨论:jQuery中,JSON数据在AJA ...
- WPF里ItemsControl的分组实现 --listbox 实现分组
我们在用到ItemsControl时,有时会用到分组,如ListBox,ListView,DataGrid.WPF的ItemsControl可以实现分组,是依托于GroupStyle,以ListBox ...
- .NET MVC后台发送post请求
一.WebRequest方式 //设置请求接口 var request = (HttpWebRequest)WebRequest.Create("http://xxx.com/xxx&quo ...
- 关于java中反射的小结
一.Class 1. Class是一个类,封装了当前对象所对应的类的信息 2.小写class表示是一个类类型,大写Class表示这个类的名称 3.对于每个类而言,JRE 都为其保留一个不变的 Clas ...
- 列表 ul ol dl 和 块级标签和行及标签之间的转换
1. 无序列表 有序列表 自定义列表 1,无序列表 第一 你不必须有子标签 <li></li> 第二 ul天生自带内外边距 List-style的属性值 circle(空心圆 ...
- viewer.js 视图预览demo
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- PHP常用函数总结(二)
PHP常用函数总结 数学函数 1.abs(): 求绝对值 $abs = abs(-4.2); //4.2 数字绝对值数字 2.ceil(): 进一法取整 echo ceil(9.999); // 10 ...
- SAP MM ME81N PO Value Analysis报表中Net Value 为负数是怎么回事?
SAP MM ME81N PO Value Analysis报表中Net Value 为负数是怎么回事? ME81N 报表中,如下PO的net value为负数, 怎么回事? 经查这些PO都是退货采购 ...