Python-Pandas库-数据结构Series用法总结
一、Pandas数据结构之Series: 类似于表格中的一个列(column),类似于一维数组,语法:
pd.Series(data,index,dtype,name,copy)
二、创建Series对象
点击查看代码
s = pd.Series(data=np.random.randn(5),index=['a','b','c','d','e'],dtype='float64',name='这是一个Series')
print(s)
print(type(s)) #<class 'pandas.core.series.Series'>
#1、通过list创建
s1 = pd.Series([10, 20, 30, 40])
print(s1)
print(type(s1)) #<class 'pandas.core.series.Series'>
#2、通过字典创建
s2 = pd.Series({'a': 10,'b': 8,'c': 8,'d': 11,'e': 2,'f': 5})
print(s2)
print(type(s2)) #<class 'pandas.core.series.Series'>
#3、通过数组创建
s3 = pd.Series(np.arange(10,15),index=['a','b','c','d','e'])
print(s3)
print(type(s3)) #<class 'pandas.core.series.Series'>
三、查看数据
-
索引及name属性
点击查看代码
'''
测试数据s2:
a 10
b 8
c 8
d 11
e 2
f 5
dtype: int64
'''
#获取索引
print(s2.index)
#执行结果:Index(['a', 'b', 'c', 'd', 'e', 'f'], dtype='object')
#获取数据
print(s2.values)
#执行结果:[10 8 9 11 2 5]
-
选取数据
点击查看代码
'''
测试数据s2:
a 10
b 8
c 8
d 11
e 2
f 5
dtype: int64
'''
#1、通过位置获取数据
print(s2[0:1])
print(s2[:2])
#2、通过索引获取数据
print(s2[['c','d']])
#3、通过boolean indexing获取数据
print(s2[s2.values>=8])
print(s2[s2.index != 'a'])
四、 运算
-
统计运算
点击查看代码
'''
测试数据s2:
a 10
b 8
c 8
d 11
e 2
f 5
dtype: int64
'''
#统计运算
print(s2.describe())
'''
执行结果:
count 6.000000 数量
mean 7.500000 平均值
std 3.391165 标准差
min 2.000000 最小值
25% 5.750000
50% 8.500000
75% 9.750000
max 11.000000 最大值
dtype: float64
'''
print(s2.mean()) #平均值
print(s2.median()) #中位数
print(s2.sum()) #求和
print(s2.std()) #标准差
print(s2.mode()) #众数(出现最多的数,如果所有数据出现的次数都一样,则没有众数)执行结果:8
print(s2.sort_values()) #排序
print(s2.value_counts()) #每个值的数量
-
数学运算
点击查看代码
'''
测试数据s2:
a 10
b 8
c 8
d 11
e 2
f 5
dtype: int64
'''
print(s2/2) #除以2
print(s2 // 2) #对每个值除以2后取整
print(s2 % 2 ) #取余
print(s2 ** 2) #求平方
print(np.sqrt(s2)) #求开方
print(np.log(s2)) #求对数
-
对齐计算
点击查看代码
#对齐计算
'''
测试原数据s2:
a 10
b 8
c 8
d 11
e 2
f 5
dtype: int64
'''
#新增的数据与原数据相加
s2_1 = pd.Series({'a': 10,'b': 20,'d': 30,'e':40,'f':50},name='数值')
print(s2_1)
ss = s2 + s2_1
print(ss)
'''
执行结果:
a 20.0
b 28.0
c NaN
d 41.0
e 42.0
f 55.0
dtype: float64
'''
五、缺失值处理
点击查看代码
'''
测试原数据ss:
a 20.0
b 28.0
c NaN
d 41.0
e 42.0
f 55.0
dtype: float64
'''
print(ss[ss.notnull()]) #非空值
print(ss[ss.isnull()]) #空值
ss = ss.fillna(value=0) #用默认值填充缺失
print(ss)
六、删除/修改值
点击查看代码
#删除值
'''
测试原数据s2:
a 10
b 8
c 8
d 11
e 2
f 5
dtype: int64
'''
s2 = s2.drop('c')
print(s2)
#修改值
s2['a'] = 11
print(s2)
三十六般武艺,七十二般变化,修练出个人品牌并发出光芒
分类:
Python3
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律