# 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. LeetCode_509.斐波那契数

    LeetCode-cn_509 509.斐波那契数 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列.该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和.也就是: F(0) ...

  2. MySQL——执行计划

    项目开发中,性能是我们比较关注的问题,特别是数据库的性能:作为一个开发,经常和SQL语句打交道,想要写出合格的SQL语句,我们需要了解SQL语句在数据库中是如何扫描表.如何使用索引的: MySQL提供 ...

  3. JavaScript对象的常用属性及使用

    什么是浏览器对象模型? 浏览器对象模型(BOM Browser Object Model)是JavaScript的组成之一,它提供了独立于内容和浏览器窗口进行交互的对象,使用浏览器对象模型可以实现与H ...

  4. CentOS安Elasticsearch

    工作中有需求用到es做数据分析和日志搜索的,整理记录一下安装部署过程.ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful we ...

  5. 【MM系列】SAP MM模块-MIGO收货后自动打印收货单

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-MIGO收货后自动 ...

  6. 【MM系列】SAP 通过原材料找到成品的函数

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 通过原材料找到成品的函数   ...

  7. Windows.命令行(CMD)_执行命令&环境变量

    1.CMD命令中如果 命令有换行的话,就使用 ^来连接(这就类似于 Linux命令行中 \ 的作用) 2.环境变量 2.1.显示 所有环境变量的值,命令:set 2.2.显示 某个环境变量的值,命令 ...

  8. 使用docker compose 构建多个镜像

    定义docker compose version: ' services: composedb: image: mysql/mysql-server container_name: composedb ...

  9. 堆排序 && Kth Largest Element in an Array

    堆排序 堆节点的访问 通常堆是通过一维数组来实现的.在数组起始位置为0的情形中: 父节点i的左子节点在位置(2*i+1); 父节点i的右子节点在位置(2*i+2); 子节点i的父节点在位置floor( ...

  10. LINUX之启动流程

    (上图片转自一位高手所做) 启动第一步--加载BIOS当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它.这是因为BIOS中包含了CPU的相关 ...