Python-Pandas中Series用法总结

本文全面介绍了Pandas包中一维数据类型Series的特性与使用方法,涵盖了创建方式、索引与属性、数据获取、基本运算、缺失值处理及删除操作等关键知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Series:带标签的数组

Array/Series/DataFrame对比学习
本文对Pandas包中的一维数据类型Series特点及用法进行了总结归纳。
Pandas包之Series

2.1 如何创建Series

#导入Pandas包
import pandas as pd

#创建Series
#1.1.1 通过列表List
listSer=pd.Series([10,20,30,40])
print(listSer)

#1.1.2 通过字典dict
dictSer=pd.Series({'a':10,'b':40,'c':5,'d':90,'e':35,'f':40},name='数值')
print(dictSer)

#1.1.3 通过array
import numpy as np
arrySer=pd.Series(np.arange(10,15),index=['a','b','c','d','e'])
print(arrySer)

[output]
0    10
1    20
2    30
3    40
dtype: int64
a    10
b    40
c     5
d    90
e    35
f    40
Name: 数值, dtype: int64
a    10
b    11
c    12
d    13
e    14
dtype: int64

2.2 索引及name属性

Series类型包括(index,values)两部分

#index
print(arrySer.index)
#values
print(arrySer.values)

[output]
Index(['a', 'b', 'c', 'd', 'e'],dtype='object')
[10 11 12 13 14]

2.3 获取数据

#iloc通过位置获取数据
dictSer[0:1] #相当于dictSer.iloc[0:1]
>>>
a    10
Name: 数值, dtype: int64

#loc通过索引获取数据
dictSer[['a','b']]  #相当于dictSer.loc[['a','b']]
>>>
a    10
b    40
Name: 数值, dtype: int64

#boolean indexing获取值
dictSer[dictSer.values<=10] #获取值不超过10的数据
>>>
a    10
c     5
Name: 数值, dtype: int64

dictSer[dictSer.index!='a']  #获取索引值不是a的数据
>>>
b    40
c     5
d    90
e    35
f    40
Name: 数值, dtype: int64

2.4 基本运算

查看描述性统计数据

dictSer.describe() 
>>>
count     6.000000
mean     36.666667
std      30.276504
min       5.000000
25%      16.250000
50%      37.500000
75%      40.000000
max      90.000000
Name: 数值, dtype: float64

dictSer.mean() #均值
dictSer.median() #中位数
dictSer.sum() #求和
dictSer.std() #标准差
dictSer.mode() #众数
dictSer.value_counts() #每个值的数量

数学运算

dictSer/2 #对每个值除2
dictSer//2 #对每个值除2后取整
dictSer%2 #取余
dictSer**2 #求平方
np.sqrt(dictSer) #求开方
np.log(dictSer) #求对数

对齐计算

dictSer2=pd.Series({'a':10,'b':20,'d':23,'g':90,'h':35,'i':40},name='数值')
dictSer3=dictSer+dictSer2
dictSer3
>>>
a     20.0
b     60.0
c      NaN
d    113.0
e      NaN
f      NaN
g      NaN
h      NaN
i      NaN
Name: 数值, dtype: float64

2.5 缺失值处理

#找出空/非空值
dictSer3[dictSer3.notnull()] #非空值
>>>
a     20.0
b     60.0
d    113.0
Name: 数值, dtype: float64

dictSer3[dictSer3.isnull()]  #空值
>>>
c   NaN
e   NaN
f   NaN
g   NaN
h   NaN
i   NaN
Name: 数值, dtype: float64

#填充空值
dictSer3=dictSer3.fillna(dictSer3.mean()) #用均值来填充缺失值
>>>
a     20.000000
b     60.000000
c     64.333333
d    113.000000
e     64.333333
f     64.333333
g     64.333333
h     64.333333
i     64.333333
Name: 数值, dtype: float64

2.6 删除值

dictSer3=dictSer3.drop('b')
print(dictSer3)
>>>
a     20.000000
c     64.333333
d    113.000000
e     64.333333
f     64.333333
g     64.333333
h     64.333333
i     64.333333
Name: 数值, dtype: float64

如果对于本文中代码或数据有任何疑问,欢迎评论或私信交流

相近文章:
Numpy中Array用法总结
Pandas中DataFrame用法总结

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值