关于Series的index的方法和属性使用说明

 更新时间:2023年06月13日 09:40:38   作者:bc超  
这篇文章主要介绍了关于Series的index的方法和属性使用说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Series的index的方法和属性

from pandas import Series,DataFrame

obj = Series([1,2,3,5,8,12],index=[1,2,3,4,5,6])

obj2 = Series([2,6,12,15,18,20],index=[0,1,2,3,4,5])

1、append,合并

obj.append(obj2)

2、obj.diff(),每行与上一行的差值,Difference with previous row

与前第2行的差值

与倒数前一行的差值

3、obj3.unique() 计算唯一值

4、is_unique,判断是否有重复值,如果没有返回True,否则返回False

5、is_monotonic,当各元素均大于等于前值时,返回True,否则返回False

6、drop,删除

7、isin,判断是否包含在参数中

8、reindex,创建一个新的索引对象

Series中str属性的方法+index索引的特点

Pandas字符串处理

前面我们已经使用了字符串的处理函数:

df["bWendu"].str.replace("℃", "").astype('int32')

1.Pandas的字符串处理的基本介绍

  • 使用方法:先获取Series的str属性,然后在属性上调用函数;
  • 只能在字符串列上使用,不能数字列上使用;
  • Dataframe上没有str属性和处理方法
  • Series.str并不是Python原生字符串,而是自己的一套方法,不过大部分和原生str很相似;

2.一些常用方法的使用举例

①切分字符串,split()

# (1)把DataFrame列中字符串以','分隔开,每个元素分开后存入一个列表里
series=data['列名'].str.split(',')  
#(2)参数expand,这个参数取True时,会把切割出来的内容当做一列,产生多列。
series=data['列名'].str.split(',',expand=True)  
#(3)只要第一列
series=data['列名'].str.split(',',expand=True)[0]  

②替换,replace()

#  #用‘-'代替‘,'
series=data['列名'].str.replace(',','-')  

③是否包含表达式,contains()

#返回的是布尔值。
series=data['列名'].str.contains('we')     

④查找所有符合正则表达式的字符findall()

# 以数组的形式返回。
series=data['列名'].str.findall("[a-z]")  

⑤计算字符串的长度,len()

series=data['列名'].str.len()  

⑥去除前后的空白字符,strip()

series=data['列名'].str.strip()  
series=data['列名'].str.rstrip()    #去除后面的空白字符
series=data['列名'].str.lstrip()    #去除前面的空白字符

⑦其他的一些判断方法

isalnum() # 是否全部是数字和字母组成
isalpha() # 是否全部是字母
isdigit() # 是否全部都是数字
isspace() # 是否空格
islower() # 是否全部小写
isupper() # 是否全部大写
istitle() # 是否只有首字母为大写,其他字母为小写

3.使用过程中的一些注意

链式使用:当执行完一次str的方法后,一般不可以继续使用str的方法,需要再次使用str的属性,再使用str的方法

Series.str默认就开启了正则表达式模式
# 正则表达式替换,从2015年12月10如中将年月日替换为20151210
df["中文日期"].str.replace("[年月日]", "")

index索引的特点

1.特点

  • 更方便的数据查询,使用index查询的时候可以获得性能提升;
  • 自动的数据对齐功能;
  • 更多更强大的数据结构支持;

2.为什么使用index索引可以提高查询性能呢?

  • 如果index是唯一的,Pandas会使用哈希表优化,查询性能为O(1);
  • 如果index不是唯一的,但是有序,Pandas会使用二分查找算法,查询性能为O(logN);
  • 如果index是完全随机的,那么每次查询都要扫描全表,查询性能为O(N);

所以我们再对于完全随机索引的查询情况,如果提前排序,可以提高查询速率

总结

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

相关文章

  • Pandas 缺失数据处理代码汇总

    Pandas 缺失数据处理代码汇总

    这篇文章主要介绍了Pandas 缺失数据处理代码汇总,在pandas中,缺失数据显示为NaN。缺失值有3种表示方法,np.nan,none,pd.NA,更多相关介绍需要的朋友可以参考下面文章内容
    2022-06-06
  • Pygame游戏开发之太空射击实战子弹与碰撞处理篇

    Pygame游戏开发之太空射击实战子弹与碰撞处理篇

    相信大多数8090后都玩过太空射击游戏,在过去游戏不多的年代太空射击自然属于经典好玩的一款了,今天我们来自己动手实现它,在编写学习中回顾过往展望未来,下面开始讲解子弹与碰撞处理,在本课中,我们将添加玩家与敌人之间的碰撞,以及添加供玩家射击的子弹
    2022-08-08
  • python中的格式化输出用法总结

    python中的格式化输出用法总结

    这篇文章主要介绍了python中的格式化输出用法,分析了Python格式化输出的种类并结合实例形式总结了针对浮点数的格式化输出方法,需要的朋友可以参考下
    2016-07-07
  • pyenv虚拟环境管理python多版本和软件库的方法

    pyenv虚拟环境管理python多版本和软件库的方法

    这篇文章主要介绍了pyenv虚拟环境管理python多版本和软件库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 利用Python绘画双摆操作分享

    利用Python绘画双摆操作分享

    这篇文章主要介绍了利用Python画双摆,绘画双摆的过程主要包括以下步骤,双摆问题、运动过程及公式推导过程,下文详细介绍,需要的小伙伴可以参考一下
    2022-04-04
  • python 包之 re 正则匹配教程分享

    python 包之 re 正则匹配教程分享

    这篇文章主要介绍了python 包之 re 正则匹配教程分享,文章基于python 包 re的相关资料展开贵主题的详细介绍,需要的小伙伴可以参考一下
    2022-04-04
  • Python实现的排列组合、破解密码算法示例

    Python实现的排列组合、破解密码算法示例

    这篇文章主要介绍了Python实现的排列组合、破解密码算法,结合实例形式分析了Python排列组合、密码破解相关数学运算操作技巧,需要的朋友可以参考下
    2019-04-04
  • python抓取京东小米8手机配置信息

    python抓取京东小米8手机配置信息

    这篇文章主要为大家详细介绍了python抓取京东手机配置信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • python os模块常用的29种方法使用详解

    python os模块常用的29种方法使用详解

    这篇文章主要介绍了python os模块常用的29种方法使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • python在CMD界面读取excel所有数据的示例

    python在CMD界面读取excel所有数据的示例

    这篇文章主要介绍了python在CMD界面读取excel所有数据,帮助大家更好的利用python办公,感兴趣的朋友可以了解下
    2020-09-09

最新评论