# pandas 字符串的处理
# 前面已经学习了字符串的处理函数
# df["bWendu"].str.replace("℃","").astype(int32) # pandas的字符串处理
# 1 : 使用方法:先获取seriea的str属性,然后在属性上调用函数
# 2 : 只能在字符串列上使用,不能在数字列上使用
# 3 : DataFrame上没有str属性和处理方法
# 4 : Series.str并不是python原生字符串,而是自己的一套方法,不过大部分和原生str很相似 # 本节演示内容:
# 1 获取series的str属性,然后使用各种字符串处理函数
# 2 使用str的startswith、contain等bool类series可以做条件查询
# 3 需要多次str处理的链式操作
# 4 使用正则表达式的处理 # 0 读取北京的2018天气数据
import pandas as pd
df = pd.read_csv("beijing_tianqi_2018.csv")
df.dtypes
# 换掉温度后面的后缀
# df.loc[:,"bWendu"] = df["bWendu"].str.replace("℃","").astype("int32")
# df.loc[:,"yWendu"] = df["yWendu"].str.replace("℃","").astype("int32") # 1 获取series的str属性,使用各种字符串处理函数
df["bWendu"].str
# 字符串替换函数
df["bWendu"].str.replace("℃","")
# 判断是不是数字
df["bWendu"].str.isnumeric() df["aqi"].str.len()#AttributeError: Can only use .str accessor with string values, which use np.object_ dtype in pandas # 2 使用str的startseith、contains等得到bool的series可以做条件查询
condition = df["ymd"].str.startswith("2018-03")
df[condition].head()
# 3 需要多次str处理链式操作
# 实例:
# 1 先将日期2018-03-31替换成20180331的形式
# 2 提取月份字符串201803
df["ymd"].str.replace("-","")
# 每次调用函数,都返回一个新的series
df["ymd"].str.replace("-","").str.slice(0,6)
# slice就是切片语法,可以直接用
df["ymd"].str.replace("-","").str[0:6] # 4 使用正则表达式处理
# 添加新列
def get_nianyueri(x):
year,month,day = x["ymd"].split("-")
return f"{year}年{month}月{day}日"
df["中文日期"] =df.apply(get_nianyueri,axis= 1) # 怎样将“2018年12月31日”中的年月日三个中文字符去除?
# Series.str默认就开启了正则表达式模式
#
# 方法1
# df["中文日期"].str.replace("年","").str.replace("月","").str.replace("日","") # 方法2 :正则表达式替换 df["中文日期"].str.replace("[年月日]","")

pandas处理字符串的更多相关文章

  1. 利用Python进行数据分析(15) pandas基础: 字符串操作

      字符串对象方法 split()方法拆分字符串: strip()方法去掉空白符和换行符: split()结合strip()使用: "+"符号可以将多个字符串连接起来: join( ...

  2. Pandas | 11 字符串函数

    在本章中,我们将使用基本系列/索引来讨论字符串操作.在随后的章节中,将学习如何将这些字符串函数应用于数据帧(DataFrame). Pandas提供了一组字符串函数,可以方便地对字符串数据进行操作. ...

  3. pandas 之 字符串处理

    import numpy as np import pandas as pd Python has long been a popular raw data manipulation language ...

  4. Python数据科学手册-Pandas:向量化字符串操作、时间序列

    向量化字符串操作 Series 和 Index对象 的str属性. 可以正确的处理缺失值 方法列表 正则表达式. Method Description match() Call re.match() ...

  5. (数据科学学习手札131)pandas中的常用字符串处理方法总结

    本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在日常开展数据分析的过程中,我们经常需要对 ...

  6. 04. Pandas 3| 数值计算与统计、合并连接去重分组透视表文件读取

    1.数值计算和统计基础 常用数学.统计方法 数值计算和统计基础 基本参数:axis.skipna df.mean(axis=1,skipna=False)  -->> axis=1是按行来 ...

  7. pandas 基础操作 更新

    创建一个Series,同时让pandas自动生成索引列 创建一个DataFrame数据框 查看数据 数据的简单统计 数据的排序 选择数据(类似于数据库中sql语句) 另外可以使用标签来选择 通过位置获 ...

  8. Python 数据处理库 pandas 入门教程

    Python 数据处理库 pandas 入门教程2018/04/17 · 工具与框架 · Pandas, Python 原文出处: 强波的技术博客 pandas是一个Python语言的软件包,在我们使 ...

  9. 「Python」pandas入门教程

    pandas适合于许多不同类型的数据,包括: 具有异构类型列的表格数据,例如SQL表格或Excel数据 有序和无序(不一定是固定频率)时间序列数据. 具有行列标签的任意矩阵数据(均匀类型或不同类型) ...

随机推荐

  1. 惠普服务器DL360G6安装ESXi主机后遗忘密码用u盘重置密码

    惠普服务器DL360G6安装ESXi主机后遗忘密码重置密码 先用rufus制作U盘启动盘,启动盘一定要用惠普专用hpe的esxi版本,否则安装会报错, 下载https://www.iplaysoft. ...

  2. ef和ashx的简单测试

    在这里.小弟我默默的计算了一下用一般处理程序和MVC配合EF,到底哪个快,事实问题是我感觉都差不多,因为用的是EF,所以要提高访问速率,我觉得还是要从数据访问做起: 一般处理程序代码: private ...

  3. C#单元测试Nunit小结

    1. 下载和安装Nunit工具: NUnit是一款堪与JUnit齐名的开源的回归测试框架,供.net开发人员做单元测试之用,可以从www.nunit.org网站上免费获得,然后在系统中安装: 2. 在 ...

  4. 服务器控件调用JS函数

    是服务器端控件,不能在JS里直接调用,但可以在aspx.cs 里写方法可以调用JS函数,比如JS方法名称是check(), function check() {   alert(document.ge ...

  5. springMVC4+spring4+hibernate4框架搭建

    最近项目不是很忙,整理了一个springMVC框架给大家分享下,框架结构:springMVC4+spring4+hibernate4,主要是spring配置.springmvc配置.hibernate ...

  6. JAVA中对null进行强制类型转换(null可以强转为任意对象,并执行对象的静态方法)

    今天很好奇,对null进行强转会不会抛错.做了如下测试得到的结果是, 如果把null强转给对象,是不会抛异常的,本身对象是可以为null的. 但是如果是基本类型,比如 int i = (Integer ...

  7. java网络通信:伪异步I/O编程(PIO)

    缺点:避免了线程资源耗尽的问题,但是根本上来说,serversocket的accept方法和inputstream的输入流方法都是阻塞型方法. 服务端:加了一个线程池,实现线程复用.客户端不变 pub ...

  8. Octavia health-manager 与 amphora 故障修复的实现与分析

    目录 文章目录 目录 Health Manager 监控 amphora 健康状态 故障转移 故障迁移测试 Health Manager Health Manager - This subcompon ...

  9. LoadRunner之参数化

    一.为什么要进行参数化 LoadRunner在录制脚本的时候,只是忠实的记录了所有从客户端发送到服务器的数据,而在进行性能测试的时候,为了更接近真实的模拟现实应用,对于某些信息需要每次提交不同的数据, ...

  10. Activity启动流程(三)

    这里对启动Activity过程中涉及到的ActivityStack.TaskRecord.ActivityRecord.ActivityStackSupervisor进行简单的分析,实际上一张时序图就 ...