这篇文章给大家分享的是pandas的Series数组的使用方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
创新互联建站是由多位在大型网络公司、广告设计公司的优秀设计人员和策划人员组成的一个具有丰富经验的团队,其中包括网站策划、网页美工、网站程序员、网页设计师、平面广告设计师、网络营销人员及形象策划。承接:成都做网站、成都网站设计、网站改版、网页设计制作、网站建设与维护、网络推广、数据库开发,以高性价比制作企业网站、行业门户平台等全方位的服务。
很多时候,我们数据除了数值之外,还有字符串,时间序列等
比如:我们通过爬虫获取到了存储在数据库中的数据
所以, numpy能够帮助我们处理数值,但是pandas处理处理数值之外(基于numpy),还能够帮助我们处理其他类型的数据
pandas常用的数据类型
1.Series一维, 带标签(索引)数组
2. DataFrame二维, Series容器
pandas的Series学习
创建一个Series数组
import pandas as pd
import numpy as np
# 创建长度为10的Series数组
t = pd.Series(np.arange(10))
这样就可以创建一个简单的Series数组了,数组的左边是它的索引,右边是它的值
,因此它有index和values方法
更改Series数组的索引值
其中index=list(string.ascii_uppercase[:10])表示的是取前10位大写字母来代替索引
在这里插入代码片
注意: pd.Series能够干什么,能够传入什么类型的数据让其变为series结构,index是什么?
在什么位置,对于我们常见的数据库或者ndarray来说,index是什么,如何给一组数据指定index?
在pd.Series()中的参数可以传入一个字典,也能传入一个列表,元组等
重新给其指定其他的索引之后,如果能够对应上,就取其值,如果不能,就为nan, 此时数据的类型就为float类型了,因为numpy中的nan为float类型,pandas会自动根据数据类型更改Series的dtype类型,若要修改此类型,使用.astype即可修改
pandas之Series切片和索引
t = pd.Series(np.arange(10), index=list(string.ascii_uppercase[:10]))
t[2:10:2] # 从第三个开始以步长为2,到第10个为止
t[[2, 3, 6]] # 选择第三个, 第四个, 和第七个的值
t["F"] # 选择索引为F的值
结果如下:
切片:在"[]"中直接传入start end 或者步长即可
索引:一个的时候传入序号或者index,多个的时候传入序号或者index的列表
pandas之Series的索引和值
对于一个陌生的series类型,我们如何知道它的索引和具体的值呢:
t.index ==> 返回数组的索引,是一个列表类型,可以进行遍历,也可进行强制类型转换,如: tuple(t.index) # 进行强制类型转换
t.values ==> 返回数组的值,是一个列表类型,可以进行遍历,也可进行强制类型转换,如: tuple(t.values)
Series对象本质上由两个数组构成。
一个数组构成对象的键(index,索引),一个数组构成对象的值(values),键 -> 值
ndarray的很多方法都可以运用于series类型,比如argmax,clip
series具有where方法,但是结果和ndarray不同,具体方法可以查看官方文档np.Series.where使用教程
pandas读取MongoDB数据
这里由于我的mongodb里面没有数据,所以我就手动添加了一些数据(0.0)
from pymongo import MongoClient
import pandas as pd
client = MongoClient()
collection = client["xin"]["test"]
data = list(collection.find())
a = ["hello", "world"]
data.append(a)
t1 = data[0]
t1 = pd.Series(t1)
print(t1)
结果如下
pandas读取外部文件
pandas提供了很多读取数据的方法,比如:
这里我以csv文件举例
import pandas as pd
# pandas 读取文件
t = pd.read_csv("./demo.csv")
print(t)
csv文件结果如下
我们这组的数据存在csv文件中,我们直接使用pd.read_csv即可
和我们想象中的有些差别,我们以为他会是一个Series类型,但实际上它是一个DataFrame数组类型。
关于pandas的Series数组的使用方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。