Pandas中的常用数据类型详解

 更新时间:2025年01月14日 15:08:22   作者:Happy look  
文章总结:介绍了pandas库中常用的四种数据结构:Series、DatetimeIndex、DataFrame和Panel,详细解释了Series和DatetimeIndex的基本组成和常用操作,并提供了生成时间序列对象的函数date_range()及其参数说明

Pandas常用数据类型

扩展库pandas常用的数据结构

如下:

(1)Series:带标签的一维数组

(2)DatetimeIndes:时间序列

(3)DateFrame:带标签且大小可变的二维表格结构

(4)Panel:带标签且大小可变的三维数组

1.一维数组与常用操作

Series由索引和值两部分组成,是一个类似于字典的结构。

其中值的类型可以不同,如果在创建时没有明确指定索引,则会自动使用从0开始的非负整数作为索引。

import pandas as pd
import matplotlib.pyplot as plt

# 设置输出结果列对齐
pd.set_option('display.unicode.ambiguous_as_wide',True)
pd.set_option('display.unicode.east_asian_width',True)

# 自动创建从0开始的非负整数索引
s1=pd.Series(range(1,20,5))
# 使用字典创建Series,使用字典的“键”作为索引
s2=pd.Series({'语文':90,'数学':92,'Python':98,'物理':87,'化学':92})
# 修改指定索引对应的值
s1[3]=-17
s2['语文']=94

print('s1原始数据'.ljust(20,'='))
print(s1,'\n')
print('对s1所有数据求绝对值'.ljust(20,'='))
print(abs(s1),'\n')
print('s1的每行索引前面加上数字2'.ljust(20,'='))
print(s1.add_prefix(2),'\n')

print('s2原始数据'.ljust(20,'='))
print(s2,'\n')
print('s2数据的直方图'.ljust(20,'='))
s2.hist()
plt.show()
print('s2的每行索引后面加上_张三'.ljust(20,'='))
print(s2.add_suffix('_张三'),'\n')
print('s2最大值的索引'.ljust(20,'='))
print(s2.idxmax(),'\n')
print('测试s2的值是否在指定区间内'.ljust(20,'='))
print(s2.between(90,94,inclusive=True),'\n')
print('查看s2中90分以上的数据'.ljust(20,'='))
print(s2[s2>90],'\n')
print('查看s2中大于中值的数据'.ljust(20,'='))
print(s2[s2>s2.median()],'\n')
print('s2与数字之间的运算'.ljust(20,'='))
print(round((s2**0.5)*10,1),'\n')
print('s2中最小的2个值'.ljust(20,'\n'))
print(s2.nsmallest(2),'\n')

# 两个等长Series对象之间可以进行四则运算和幂运算
# 只对两个Series对象中都有的索引对应的值进行计算
# 非共同索引对应的值为空值
print('两个Series对象相加'.ljust(20,'='))
print(pd.Series(range(5))+pd.Series(range(5,10)),'\n')

# pipe()方法可以实现函数链式调用的功能
print('每个值加3之后再乘以3'.ljust(20,'='))
print(pd.Series(range(5)).pipe(lambda x:x+3).pipe(lambda x:x*3),'\n')
print('每个值的平方对5的余数'.ljust(20,'='))
print(pd.Series(range(5)).pipe(lambda x,y,z:(x**y)%z,2,5),'\n')

# apply()方法用来对Series对象的值进行函数运算
print('每个值加3'.ljust(20,'='))
print(pd.Series(range(5)).apply(lambda x:x+3),'\n')

print('标准差、无偏方差、无偏标准差'.ljust(20,'='))
print(pd.Series(range(5)).std(),'\n')
print(pd.Series(range(5)).var(),'\n')
print(pd.Series(range(5)).sem(),'\n')

print('检查是否存在等价于True的值'.ljust(20,'='))
print(any(pd.Series([3,0,True])),'\n')

print('查看是否所有值都等价于True'.ljust(20,'='))
print(all(pd.Series([3,0,True])))

2.时间序列与常用操作

使用pandas的date_range()函数生成时间序列对象:

date_range(start=None,end=None,periods=None,freq='D',tz=None,normalize=False,name=None,closed=None,**kwargs)
  • (1)start和end用来指定起止日期时间
  • (2)periods用来指定要生成的数据数量
  • (3)freq用来指定时间间隔,默认为'D',表示相邻两个日期之间相差一天

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python实现定时精度可调节的定时器

    Python实现定时精度可调节的定时器

    这篇文章主要为大家详细介绍了Python实现定时精度可调节的定时器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • Python3 replace()函数使用方法

    Python3 replace()函数使用方法

    这篇文章主要介绍了Python3 replace()函数使用方法,需要的朋友可以参考下
    2018-03-03
  • 解决usageerror: line magic function "%%time" not found问题

    解决usageerror: line magic function "

    这篇文章主要介绍了解决usageerror: line magic function "%%time" not found问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • Python lambda函数基本用法实例分析

    Python lambda函数基本用法实例分析

    这篇文章主要介绍了Python lambda函数基本用法,结合实例较为详细的分析了Python lambda函数的功能、使用方法及相关操作注意事项,需要的朋友可以参考下
    2018-03-03
  • pandas 空数据处理方法详解

    pandas 空数据处理方法详解

    这篇文章主要介绍了pandas 空数据处理方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Python中Array特性与应用实例深入探究

    Python中Array特性与应用实例深入探究

    这篇文章主要为大家介绍了Python中Array特性与应用实例深入探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • python微信好友数据分析详解

    python微信好友数据分析详解

    这篇文章主要为大家详细介绍了python微信好友数据分析,实现对微信好友的获取,并对省份、性别等数据分析,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Python hashlib库数据安全加密必备指南

    Python hashlib库数据安全加密必备指南

    这篇文章主要为大家介绍了Python hashlib库数据安全加密的使用实例探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • python csv实时一条一条插入且表头不重复问题

    python csv实时一条一条插入且表头不重复问题

    这篇文章主要介绍了python csv实时一条一条插入且表头不重复问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Python实现数字小写转大写的示例详解

    Python实现数字小写转大写的示例详解

    这篇文章主要为大家详细介绍了如何利用Python实现数字小写转大写的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-12-12

最新评论