这一小节要介绍两个内容, 一个是 DatetimeIndex 日期索引, 另一个是 Resample, 这是一个函数, 可以通过参数的设置, 来调整数据的查询条件, 从而得到不同的结果. 首先看下关于 DatetimeIndex 的内容, 照例先引入一个csv 文件作为数据基础: import pandas as pd df = pd.read_csv('/Users/rachel/Sites/pandas/py/pandas/14_ts_datetimeindex/aapl.csv') df.…
numpy基础 import numpy as np 定义array In [156]: np.ones(3) Out[156]: array([1., 1., 1.]) In [157]: np.ones((3,5)) Out[157]: array([[1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.], [1., 1., 1., 1., 1.]]) In [158]: In [158]: np.zeros(4) Out[158]: array([0., 0.…
数据分析02 /pandas基础 目录 数据分析02 /pandas基础 1. pandas简介 2. Series 3. DataFrame 4. 总结: 1. pandas简介 numpy能够帮助我们处理的是数值型的数据,当然在数据分析中除了数值型的数据还有好多其他类型的数据(字符串,时间序列),那么pandas就可以帮我们很好的处理除了数值型的其他数据! pandas中的两个常用的类:Series/DataFrame 2. Series 定义: Series是一种类似一维数组的对象,由下面…
pandas 提供了三种主要方法可以对数据进行合并: pandas.merge()方法:数据库风格的合并: pandas.concat()方法:轴向连接,即沿着一条轴将多个对象堆叠到一起: 实例方法combine_first()方法:合并重叠数据. pandas.merge()方法:数据库风格的合并   例如,通过merge()方法将两个DataFrame合并: on='name'的意思是将name列当作键: 默认情况下,merge做的是内连接(inner),即键的交集. 其他方式还有左连接(l…
pandas 对象拥有一些常用的数学和统计方法.   例如,sum() 方法,进行列小计:   sum() 方法传入 axis=1 指定为横向汇总,即行小计:   idxmax() 获取最大值对应的索引:   还有一种汇总是累计型的,cumsum(),比较它和 sum() 的区别: unique() 方法用于返回数据里的唯一值:   value_counts() 方法用于统计各值出现的频率:   isin() 方法用于判断成员资格:   安装步骤已经在首篇随笔里写过了,这里不在赘述.利用 Pyt…
一.reindex() 方法:重新索引 针对 Series   重新索引指的是根据index参数重新进行排序. 如果传入的索引值在数据里不存在,则不会报错,而是添加缺失值的新行. 不想用缺失值,可以用 fill_value 参数指定填充值. 例如:   fill_value 会让所有的缺失值都填充为同一个值,如果不想这样而是用相邻的元素(左或者右)的值填充,则可以用 method 参数,可选的参数值为 ffill 和 bfill,分别为用前值填充和用后值填充: 针对 DataFrame   重新…
一.pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主要目的是为了数据分析.它提供了大量高级的数据结构和对数据处理的方法. pandas 有两个主要的数据结构:Series 和 DataFrame. 二.Series Series 是一个一维数组对象 ,类似于 NumPy 的一维 array.它除了包含一组数据还包含一组索引,所以可以把它理解为一组带索引的数组. 将 Python 数组转换成 Series 对象: 将 Python 字典转换成 Serie…
[.net 面向对象编程基础] (14) 重构 通过面向对象三大特性:封装.继承.多态的学习,可以说我们已经掌握了面向对象的核心.接下来的学习就是如何让我们的代码更优雅.更高效.更易读.更易维护.当然了,这也是从一个普通程序员到一个高级程序员的必由之路.就看病一样,普通医生只能治标,高级医生不但看好病,还能除病根. 1.什么时重构? 重构(Refactoring)就是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量.性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性.…
摘要:pandas是一个强大的Python数据分析工具包,pandas的两个主要数据结构Series(一维)和DataFrame(二维)处理了金融,统计,社会中的绝大多数典型用例科学,以及许多工程领域.在Spark中,python程序可以方便修改,省去java和scala等的打包环节,如果需要导出文件,可以将数据转为pandas再保存到csv,excel等. 1.Pandas是什么? pandas是一个强大的Python数据分析工具包,是一个提供快速,灵活和表达性数据结构的python包,旨在使…
Hello, 大家好, 昨天说了我会再更新一个关于 Pandas 基础知识的教程, 这里就是啦......Pandas 被广泛应用于数据分析领域, 是一个很好的分析工具, 也是我们后面学习 machine learning 的一个必备技能. 因为我们后面会经常提到和用到一个词 --- Dataframe(为了方便日后学习, 这里就不勉强翻译了), 首先想介绍一下它的概念:Dataframe 是 Pandas 中的一个主要对象. 它以行和列的形式展示数据, 就是很接近于 excel 表的样子. 首…
在这个用 Python 和 Pandas 实现数据分析的教程中, 我们将明确一些 Pandas 基础知识. 加载到 Pandas Dataframe 的数据形式可以很多, 但是通常需要能形成行和列的数据集. 所以可以是如下的 dictionary 的形式: web_stats = {'Day':[1,2,3,4,5,6], 'Visitors':[43,34,65,56,29,76], 'Bounce Rate':[65,67,78,65,45,52]} 我们可以通过如下方式把这个 dictio…
十四. Python基础(14)--递归 1 ● 递归(recursion) 概念: recursive functions-functions that call themselves either directly or indirectly in order to loop. 最大递归层数: the default maximum recursion depth in Python is 997. 限制条件: 一定有一个分支不调用自身 修改最大递归层数: import sys sys.se…
pandas 基础 serise import pandas as pd from pandas import Series, DataFrame obj = Series([4, -7, 5, 3]) obj 0 4 1 -7 2 5 3 3 dtype: int64 obj.values array([ 4, -7, 5, 3], dtype=int64) obj.index RangeIndex(start=0, stop=4, step=1) obj[[1,3]] # 跳着选取数据 1…
数据转换指的是对数据的过滤.清理以及其他的转换操作. 移除重复数据 DataFrame里经常会出现重复行,DataFrame提供一个duplicated()方法检测各行是否重复,另一个drop_duplicates()方法用于丢弃重复行: duplicated()和drop_duplicates()方法默认判断全部列,如果不想这样,传入列的集合作为参数可以指定按列判断,例如: duplicated()和drop_duplicates()方法默认保留第一个出现的值,传入take_last=True…
生成对象 用值列表生成 Series 时,Pandas 默认自动生成整数索引: In [3]: s = pd.Series([1, 3, 5, np.nan, 6, 8]) In [4]: s Out[4]: 0 1.0 1 3.0 2 5.0 3 NaN 4 6.0 5 8.0 dtype: float64 用含日期时间索引与标签的 NumPy 数组生成 DataFrame: In [5]: dates = pd.date_range('20130101', periods=6) In [6]…
这一节是承接上一节的内容, 依然是基于时间的数据分析, 接下来带大家理解关于 date_range 的相关用法. 首先, 引入数据文件: import pandas as pd df = pd.read_csv('/Users/rachel/Sites/pandas/py/pandas/15_ts_date_range/aapl_no_dates.csv') df.head() 输出:这个文件的数据跟上一节用到的数据是一模一样的(大家可以对照一下), 只是时间列被去掉了. 这样设计是因为我们要引…
  对网站日记分析其实比较常见,今天模拟演示一下一些应用场景,也顺便说说Pandas,图示部分也简单分析了下 1.数据清洗¶ 一般数据都不可能直接拿来用的,或多或少都得清理一下,我这边就模拟一下清洗完的数据 In [1]: %%time import numpy as np import pandas as pd   Wall time: 520 ms In [2]: %%time # 生成一个2017年的所有时间点(分钟为单位) datetime_index = pd.date_range("…
1. pandas时间序列:时间索引 2. pandas时间序列数据结构 2.1 定期序列 3. 频率和偏移 4. 重采样,转移,加窗口 4.1 重采样及频率转换 4.2 时间移动 4.3 滚动窗口 5. 更多操作 pandas提供了一套标准的时间序列处理工具和算法,使得我们可以非常高效的处理时间序列,比如切片.聚合.重采样等等. 本节我们讨论以下三种时间序列: 时间戳(time stamp):一个特定的时间点,比如2018年4月2日. 时间间隔和时期(time period):两个特定的时间起…
创建一个Series,同时让pandas自动生成索引列 创建一个DataFrame数据框 查看数据 数据的简单统计 数据的排序 选择数据(类似于数据库中sql语句) 另外可以使用标签来选择 通过位置获取数据 布尔值索引 设定数值(类似于sql update 或者add) 缺失值处理 数据操作 统计个数与离散化 pandas 处理字符串(单独一个大的章节,这人不做详述) 数据合并 首先看concat合并数据框 merge方式合并(数据库中的join) Append方式合并数据 分组操作Groupb…
Pandas--"大熊猫"基础 Series Series: pandas的长枪(数据表中的一列或一行,观测向量,一维数组...) Series1 = pd.Series(np.random.randn(4)) print Series1,type(Series1) print Series1.index print Series1.values 输出结果: 0 -0.676256 1 0.533014 2 -0.935212 3 -0.940822 dtype: float64 &l…
1.序言 如何切片,切块,以及通常获取和设置pandas对象的子集 2.索引的不同选择 对象选择已经有许多用户请求的添加,以支持更明确的基于位置的索引.Pandas现在支持三种类型的多轴索引. .loc主要是基于标签的,但也可以与布尔数组一起使用.当找不到物品时.loc会提高KeyError.允许的输入是: 单个标签,例如5或'a'(注意,它5被解释为索引的 标签.此用法不是索引的整数位置.). 列表或标签数组.['a', 'b', 'c'] 带标签的切片对象'a':'f'(注意,相反普通的Py…
这一节依然是关于时间的知识, 在平时的工作中, 有一个非常令我们恼火的就是时间的格式可以有很多种表达, 比如下面这张图, 我们看到同样是 2017年1月5日, 可以有很多种时间的格式, 我们需要先将格式统一才能进行下面的工作, Pandas 提供了这个函数 to_datetime(). 下面通过一个例子来看下它的具体用法: import pandas as pd dates = ['2017-01-05', 'Jan 5, 2017', '01/05/2017', '2017.01.05', '…
pandas 是一个基于 Numpy 构建, 强大的数据分析工具包 主要功能 独特的数据结构 DataFrame, Series 集成时间序列功能 提供丰富的数学运算操作 灵活处理缺失数据 Series 一维数组 Series 是一种类似于一维数组的对象, 由一组数据和一组与之相关的数据标签(索引)组成 创建方式 pd.Series([4, 7 ,5, -3]) pd.Series([4, 7 ,5, -3], index=['a', 'b', 'c', 'd']) pd.Series({'a'…
```python import pandas as pd import numpy as np ``` ```python s = pd.Series([1,3,6,np.nan,44,1]) s ------------ 0 1.0 1 3.0 2 6.0 3 NaN 4 44.0 5 1.0 dtype: float64 ``` ```python dates = pd.date_range(',periods=6) dates ------------ DatetimeIndex(['2…
引言 先介绍下 Pandas 的数据结构,毕竟数据结构是万物的基础. Pandas 有两种主要的数据结构: Series 和 DataFrame 模块导入 首先我们在代码中引入 Pandas 和 Numpy ,如下: import numpy as np import pandas as pd Series Series 可以简单的理解为一维数组,可以存储整数.浮点数.字符串.Python 对象等类型的数据. 这个概念有点像 Java 中的集合. 如果无法理解的话,那么可以看下面这个图(Exce…
Basic knowledge of Pandas pandas库是以numpy库为基础建成的,是python数据分析的核心库.也正因如此,pandas内的数据结构与numpy的数组有许多相似的地方. 以下的代码示例均是在引入numpy和pandas库的基础上,不要忘记! Pandas库数据结构简介 Series对象 Series对象用来存放一维数据,由两个相互关联的数组组成.index数组存放索引(令人惊喜的是,索引可以有重复),values数组存放值.其实index对象使得操作Series和…
Numpy Numpy是python的一个库.支持维度数组与矩阵计算并提供大量的数学函数库. arr = np.array([[1.2,1.3,1.4],[1.5,1.6,1.7]])#创建ndarray时候也可以指定dtype arr.astype(dtype = np.int) #浮点数转int #对数组批量运算,作用在每个元素上 arr = np.array([[1,2,3],[4,5,6]]) print arr**5 #索引和切片 arr = np.array([1,2,3,4,5,6…
第1节 pandas 回顾 第2节 读写文本格式的数据 第3节 使用 HTML 和 Web API 第4节 使用数据库 第5节 合并数据集 第6节 重塑和轴向旋转 第7节 数据转换 第8节 字符串操作 第9节 绘图和可视化 pandas 回顾 一.实验简介 学习数据分析的课程,需要同学们掌握好 Python 的语言基础,和对 Numpy 与 Matplotlib 等基本库有一些了解.同学们可以参考学习实验楼的 Python 语言基础教程与 Python 科学计算的课程. pandas 是后面我们…
加载数据 Fun:pandas.read_csv >>> import pandas >>> food_info = pandas.read_csv("food_info.csv") >>> print(food_info.dtypes) NDB_No int64 Shrt_Desc object Water_(g) float64 Energ_Kcal int64 Protein_(g) float64 Lipid_Tot_(g)…
这节依然是关于时间方面的知识.上一节学习了如何获取日期序列的函数, 以及通过一些基本的参数设置可以使时间序列跳过休息日等.这一节, 将要深入学习这个点, 做更自定义的设计. 通过上一节的学习, 我们知道了如何获取一个时间段的序列, 那我们很容易就可以得到 2019年2月1日到2月28日的所有工作日的时间序列: import pandas as pd pd.date_range(start='2/1/2019', end='2/28/2019', freq='B') 输出: DatetimeInd…