机器学习, 数据采集, 数据分析, web网站,IS-RPA,APP
python基础 Pandas Series 数据分析 • 0 回帖 • 1.2K 浏览 • 2019-07-16 12:52:29
Python 的 pandas 库下的 Series 简单 使用
简介:
1、Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。
.
2、Pandas 是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属于PyData项目的一部分。Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。 Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。panel data是经济学中关于多维数据集的一个术语,在Pandas中也提供了panel的数据类型。
.
3、数据结构: Series:一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近,其区别是:List中的元素可以是不同的数据类型,而Array和Series中则只允许存储相同的数据类型,这样可以更有效的使用内存,提高运算效率。 Time- Series:以时间为索引的Series。 DataFrame:二维的表格型数据结构。很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器。以下的内容主要以DataFrame为主。 Panel :三维的数组,可以理解为DataFrame的容器。 Pandas 有两种自己独有的基本数据结构。读者应该注意的是,它固然有着两种数据结构,因为它依然是 Python 的一个库,所以,Python 中有的数据类型在这里依然适用,也同样还可以使用类自己定义数据类型。只不过,Pandas 里面又定义了两种数据类型:Series 和 DataFrame,它们让数据操作更简单了。
总的来说:Series 更快(有效的使用内存),更方便的操作数据(list 和 dict 的结合。有自己的索引,并且可以重命名。和整体的数据操作)
1.Series 就如同列表一样,一系列数据,每个数据对应一个索引值。
Series 就是“竖起来”的 list:
#!/usr/bin/env Python3
__author__ = '未昔/angelfate'
__date__ = '2019/7/16 11:08'
# -*- coding: utf-8 -*-
from pandas import Series
import pandas as pd
# 1.Series 就如同列表一样,一系列数据,每个数据对应一个索引值。
# Series 就是“竖起来”的 list:
Test1 = Series(['a', 4, 'wang', 'wei'])
print('-------Test1:-----\n', Test1)
print('Test1.index:', Test1.index)
print('Test1.values:', Test1.values)
2. 列表的索引只能是从 0 开始的整数,Series 数据类型在默认情况下,其索引也是如此。不过,区别于列表的是,Series 可以自定义索 (作业又趋近于字典 dict)
#2.列表的索引只能是从 0 开始的整数,Series 数据类型在默认情况下,其索引也是如此。不过,区别于列表的是,Series 可以自定义索(作业又趋近于字典dict)
Test2 = Series(['wangwei', 'male', 18, 105], index=['name', 'sex', 'age','weight'])
print('\n-------Test2:-----\n', Test2)
3. 每个元素都有了索引,就可以根据索引操作元素了。还记得 list 中的操作吗?Series 中,也有类似的操作。先看简单的,根据索引查看其值和修改其值:
#3.每个元素都有了索引,就可以根据索引操作元素了。还记得 list 中的操作吗?Series 中,也有类似的操作。先看简单的,根据索引查看其值和修改其值:
Test3 = Test2
print('\n-------Test3:-----\n')
Test3['name'] = 'xiaowei'
print(Test3)
4. 前面定义 Series 对象的时候,用的是列表,即 Series() 方法的参数中,第一个列表就是其数据值,如果需要定义 index,放在后面,依然是一个列表。除了这种方法之外,还可以用下面的方法定义 Series 对象:
# 4.前面定义 Series 对象的时候,用的是列表,即 Series() 方法的参数中,第一个列表就是其数据值,如果需要定义 index,放在后面,依然是一个列表。除了这种方法之外,还可以用下面的方法定义 Series 对象:
test_con= {'python': 9000, 'c++': 9001, 'c#': 9000}
Test4 = Series(test_con)
print('\n-------Test4:-----\n',Test4)
5. 这时候,索引依然可以自定义。Pandas 的优势在这里体现出来,如果自定义了索引,自定的索引会自动寻找原来的索引,如果一样的,就取原来索引对应的值,这个可以简称为“自动对齐”。
# 5.这时候,索引依然可以自定义。Pandas 的优势在这里体现出来,如果自定义了索引,自定的索引会自动寻找原来的索引,如果一样的,就取原来索引对应的值,这个可以简称为“自动对齐”。
Test5 = Series(test_con,index=['java','c++','c#'])
print('\n-------Test5:-----\n',Test5)
Test6 = Series(test_con,index=['python','c++','c#'])
print('\n-------Test6:-----\n',Test6)