Pandas之Series(一)

 

Hi😊😊~大家好呀~最近两天釉色酱在学习python中的数据分析的一个基本库——pandas。今天就先学习pandas中最基本的数据结构Series。下面我们一起进入Series的世界吧!😝

Pandas简介:

  • Pandas是一种基于Python语言的快速、强大、灵活且易于使用的开源数据分析和数据操作工具。
  • pandas使用Data Frame来存储多列的数据集,使用Series存储单列数据集。
  • Data Frame是二维的数据表,有行有列。Data Frame可以说是由一组Series组成的。

Series:

  • Series有标记(lable)
  • Series的每个值有顺序(order,索引位置)
  • 可以通过标记和位置来引用Series里面的值
  • Series是带有标记的同质数据的一维数组

 

Series简介

Series是pandas里面的类,所以需要先引用pandas:

import pandas as pd

创建Series类·的实例

pd.Series()

这其实相当于一个构造函数,可以添加参数。(比如列表,元组,字典等)

为Series填充值

参数为列表(list)

import pandas as pd

ls=["周一","周二","周三","周四","周五"]
print(pd.Series(ls))

运行结果如下:

dff21700700f40ba9378353819c348b4.png

由此,我们可以看到第一列,即”0 1 2 3 4“就是索引。我们没有指定index,所以使用默认索引。在Series中,默认索引是从0开始的数字,指定索引后才有所改变。

设置索引(index)

import pandas as pd
ls=["周一","周二","周三","周四","周五"]
serial=[1,2,3,4,5]
print(pd.Series(data=ls,index=serial))

运行结果如下:

530fdb55de7e479c9102027b33874a51.png

 其他类型的例子

整型:

lucky_numbers={4,8,15,16,23,42}
print(pd.Series(lucky_numbers))

浮点型:

stock_prices={985.32,950.44}
time_of_day={"Open","Close"}
print(pd.Series(data=stock_prices,index=time_of_day))

bool类型:

bunch_of_bools={True,False,False}
print(pd.Series(bunch_of_bools))

构造函数强制类型转换:

(dtype:数据类型)

lucky_numbers={4,8,15,16,23,42}
print(pd.Series(data=lucky_numbers,dtype="float"))
import pandas as pd
import numpy as  np
temperatures={94,88,np.nan,91}
print(pd.Series(data=temperatures))

(注意:dtype是float64)

当含有nan值时,pandas会自动把数值的类型转化为浮点型,目的是保持类型的一致。

从其他Python类型创建Series:

从字典(Dictionary创建Series)

import pandas as pd
persons={"张三":185,"李四":177,"王二麻子":181.4}  #key与value
print(pd.Series(persons))

运行结果如下:

6b319e3354f14037a72f2dddaf1a08ab.png

 这时key就作为lable,values还是字典中的values。

从元组(tuple)创建Series

import pandas as pd
color=("Red","Green","Blue")
print(pd.Series(data=color))

这时的索引仍然是默认的:

901181d3985d426590acb32e5321a602.png

注意:不能使用set(集合),因为它是无序的。

从Numpy的ndarray

rd=np.random.randint(1,101,10)#创建1~100之间的10个随机数
print(rd)
print(pd.Series(rd))

 Series的属性

1.values属性

 

import pandas as pd
color=("Red","Green","Blue")
s=pd.Series(color)
print(s.values)

 

运行结果如下:

['Red','Green','Blue']

 其属性为

nump.ndarray

2.index属性

import pandas as pd
color=("Red","Green","Blue")
s=pd.Series(color)
print(s.index)

运行结果为:

RangeIndex(start=0,start=3,step=1)

 其属性为:

pandas.core.indexes.base.Index

 3.dtype属性

import pandas as pd
color=("Red","Green","Blue")
s=pd.Series(color)
print(s.dtype)

运行结果为:

object

4.size属性

返回values的个数

print(s.size)
3

5.shape属性:

返回一个元组(由于Series是一维的,所以只返回一个数)

print(s.shape)
(3,)

6.is_unique属性

若Series里面有相同的,则返回False。若没有,则返回Ture

print(s.is_unique)
Ture

获取前几行和后几行

d=range(0,500,5) #生成一个序列
ns=pd.Series(data=d)
print(ns)

d1a8ba524e604724b181ae96fdccef2f.png

取前n个数需要用到函数head()。

如果没有传递参数,那么默认为5。(不同编译系统可能不同)

import pandas as pd
d=range(0,500,5)
ns=pd.Series(data=d)
print(ns)

ns_2=ns.head(5)
print(ns_2)

ns_3=ns.head(10)
print(ns_3)

1b826a09385e4db58f02d8932b4afac5.png

 获取后几行,利用函数tail()

ns_4=ns.tail(3)
ns_5=ns.tail(5)
print(ns_4)
print(ns_5)

e737faae5fb44bd68ab35e33f0d947ec.png

 

 

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

釉色清风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值