# 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. 搜索引擎算法研究专题七:Hilltop算法

    搜索引擎算法研究专题七:Hilltop算法 2017年12月19日 ⁄ 搜索技术 ⁄ 共 1256字 ⁄ 字号 小 中 大 ⁄ 评论关闭   HillTop也是搜索引擎结果排序的专利,是Google工 ...

  2. Python深度学习读书笔记-1.什么是深度学习

    人工智能 什么是人工智能.机器学习与深度学习(见图1-1)?这三者之间有什么关系?

  3. Python Module_openpyxl_处理Excel表格

    目录 目录 前言 软件系统 Install openpyxl module Sample code load_workbook加载Excel文件 wbObjectget_sheet_names 获取E ...

  4. 中国MOOC_零基础学Java语言_第4周 循环控制_1素数和

    第4周编程题 查看帮助 返回   第4周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截 ...

  5. python使用相对路径创建文件夹

    两个py文件,一个是al文件夹下的test1.py,一个是和al文件夹同层的test2.py test1.py代码如下: import os def test(): path = './source_ ...

  6. php7.2 下安装yaf扩展

    wget http://pecl.php.net/get/yaf-3.0.7.tgz  解压并进入目录: 1 tar -zxvf yaf-3.0.7* && cd yaf-3.0.7  ...

  7. ES6标准入门 第五章:正则的扩展

    1.RegExp 构造函数 ES5的缺陷: ES5中构造函数的参数有两种情况: (1)参数是字符串,这时第二个参数表示正则表达式的的修饰符(flag). var reg = new RegExp( & ...

  8. 手把手教你SOAP访问webservice并DOM解析返回的XML数据(转)

    http://blog.csdn.net/u012534831/article/details/51357111 前言: 目前我们项目组还在采用webservice这种http方式,并且某些网站服务提 ...

  9. 第9周总结&实验报告7

    完成火车站售票程序的模拟. 要求:(1)总票数1000张:(2)10个窗口同时开始卖票:(3)卖票过程延时1秒钟:(4)不能出现一票多卖或卖出负数号票的情况.一:实验代码 package first; ...

  10. kubernetes快速应用入门

    kubectl 就是 api server的客户端工具 创建一个nginx的pod [root@master ~]# kubectl run nginx-deploy --image=nginx:1. ...