pandas(series和读取外部数据)

2023-11-06

一、pandas概述

1、pandas介绍

pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。

Pandas 是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属于PyData项目的一部分。Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。 Pandas的名称来自于面板数据(panel data)和python数据分析(data analysis)。panel data是经济学中关于多维数据集的一个术语,在Pandas中也提供了panel的数据类型。

2、为什么引入pandas?

numpy能够帮助处理数值型数据,但是这还远远满足不了需求。pandas除了处理数值型数据之外(基于numpy),还能帮助处理其他类型的数据(如:字符串类型)

3、pandas的常用数据类型

(1)Series 一维,带标签数组

(2)DataFrame 二维,Series容器

数据结构介绍:

Series:一维数组,与Numpy中的一维array类似。二者与Python基本的数据结构List也很相近。Series如今能保存不同种数据类型,字符串、boolean值、数字等都能保存在Series中。

Time- Series:以时间为索引的Series。

DataFrame:二维的表格型数据结构。很多功能与R中的data.frame类似。可以将DataFrame理解为Series的容器。

Panel :三维的数组,可以理解为DataFrame的容器。

Panel4D:是像Panel一样的4维数据容器。

PanelND:拥有factory集合,可以创建像Panel4D一样N维命名容器的模块。

二、pandas之Series

1、Series对象

Series对象本质:由两个数组构成

  • 一个数组构成对象的键(index,索引),一个数组构成对象的值(values),键——>值

2、创建Series

(1)通过列表创建

pd.Series(列表,index=....)   ——>index指定元素的索引

import pandas as pd
import numpy as np

t = pd.Series(np.arange(10), index=[i for i in range(10)])
print(t)
print(type(t))

(2)通过字典创建

pd.Series(字典)   ——>使用字典中原数据的键值

import pandas as pd

t = pd.Series({"name":"hanmh-", "age":"21", "language":"chinese"})
print(t)
print(type(t))

(3)字典推导式创建字典,并作为Series的参数

import pandas as pd
import string

#字典推导式创建字典
a = {string.ascii_uppercase[i]:i for i in range(10)}
t = pd.Series(a)

print(a)
print(t)

重新给上面字典指定其他索引后,如果能够对上,就取其值,如果不能就直接置为nan

注:如果重新指定索引后,出现没有匹配的项,值被赋为nan,因为numpy中的nan为float,pandas会自动根据数据类型更改Series的dtype类型

t = pd.Series(a, index=list(string.ascii_uppercase[5:15]))

(4)修改Series的dtype值

t.astype(类型)

三、pandas之Series切片和索引

切片:直接传入start end或者步长即可

索引:一个的时候直接传入序号或者index,多个的时候传入序号或者index的列表

1、取出Series的索引或者值

t.index      取出Series的索引

t.values     取出Series中具体的值

import pandas as pd
import string

a = {string.ascii_uppercase[i]:i for i in range(10)}
t = pd.Series(a)
print(t.index)
print(type(t.index))
print("*"*20)
print(t.values)
print(type(t.values))

注:ndarray的很多方法都可以运用到Series类型,比如argmax,clip

2、Series中的where方法

该方法与numpy中的where方法输出结果不一样,pandas中的where是输出匹配项,不匹配的直接赋值为nan

import pandas as pd
import string

a = {string.ascii_uppercase[i]:i for i in range(10)}
t = pd.Series(a)
print(t)
t = t.where(t>5)
print(t)

四、pandas读取外部数据

1、读取csv文件

pd.read_csv(文件路径)

2、读取数据库

(1)MySQL

pd.read_sql(sql_sentence,connection)

(2)读取mongoDB数据

from pymongo import MongoClient
import pandas as pd

client = MongoClient()
collection = client['douban']['tv1']
data = list(collection.find()) #查找数据并转换成list形式

 

 

 

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pandas(series和读取外部数据) 的相关文章

  • 数据结构知识点复习

    第一章 数据结构概述 基本概念与术语 数据 数据是对客观事物的符号表示 在计算机科学中是指所有能输入到计算机中并被计算机程序所处理的符号的总称 数据元素 数据元素是数据的基本单位 是数据这个集合中的个体 也称之为元素 结点 顶点记录 补充

随机推荐