关于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);

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

总结

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

相关文章

  • Python批量图片去水印的方法

    Python批量图片去水印的方法

    ​平常工作中,有时为了采用网络的一些素材,但这些素材往往被打了水印,如果我们不懂PS就无法去掉水印,或者无法批量去掉水印。本文就介绍了Python批量图片去水印的方法,感兴趣的可以了解一下
    2021-05-05
  • python 密码学示例——理解哈希(Hash)算法

    python 密码学示例——理解哈希(Hash)算法

    这篇文章主要介绍了哈希(Hash)算法的相关资料,帮助大家更好的利用python处理密码,感兴趣的朋友可以了解下
    2020-09-09
  • python实现FTP服务器服务的方法

    python实现FTP服务器服务的方法

    本篇文章主要介绍了python实现FTP服务器的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • PyTorch基础之torch.nn.Conv2d中自定义权重问题

    PyTorch基础之torch.nn.Conv2d中自定义权重问题

    这篇文章主要介绍了PyTorch基础之torch.nn.Conv2d中自定义权重问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • pytorch 修改预训练model实例

    pytorch 修改预训练model实例

    今天小编就为大家分享一篇pytorch 修改预训练model实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python3基础语法知识点总结

    Python3基础语法知识点总结

    在本篇文章里小编给大家分享的是一篇关于Python3基础语法知识点总结内容,有兴趣的朋友们可以学习下。
    2021-05-05
  • python实现给微信指定好友定时发送消息

    python实现给微信指定好友定时发送消息

    这篇文章主要为大家详细介绍了python实现给微信指定好友定时发消息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • 简化Python的Django框架代码的一些示例

    简化Python的Django框架代码的一些示例

    这篇文章主要介绍了简化Python的Django框架代码的一些示例,实际上文中只是抽取了一些Django中最基本的功能用于简化入门者的上手复杂度,下,需要的朋友可以参考下
    2015-04-04
  • 对tensorflow中的strides参数使用详解

    对tensorflow中的strides参数使用详解

    今天小编就为大家分享一篇对tensorflow中的strides参数使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python对象的底层实现源码学习

    Python对象的底层实现源码学习

    这篇文章主要为大家介绍了Python对象的底层实现源码学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05

最新评论