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))

运行结果如下:

Pandas之Series(一)_第1张图片

由此,我们可以看到第一列,即”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))

运行结果如下:

Pandas之Series(一)_第2张图片

 其他类型的例子

整型:

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))

运行结果如下:

Pandas之Series(一)_第3张图片

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

从元组(tuple)创建Series

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

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

Pandas之Series(一)_第4张图片

注意:不能使用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)

Pandas之Series(一)_第5张图片

取前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)

Pandas之Series(一)_第6张图片

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

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

Pandas之Series(一)_第7张图片

 

 

你可能感兴趣的:(Python,pandas,python)