Pandas对字符串的处理方法_9

本文介绍了如何使用Pandas库对CSV数据进行处理,特别是针对字符串的多种操作,如替换、判断是否为数字、计算长度等。通过`str`属性,可以方便地调用各种字符串函数。此外,还展示了如何利用`startswith`和`contains`进行条件筛选,以及如何进行正则表达式的匹配和替换,例如提取月份信息。文章最后讨论了如何在字符串中应用正则表达式来去除特定字符。
摘要由CSDN通过智能技术生成

在这里插入图片描述

import numpy as np
import pandas as pd

"""
本节主要介绍pandas对字符串的处理
"""

# 导入数据
path = './test.csv'
df = pd.read_csv(path)

# 1.获取series的str属性,使用各种字符串处理函数(注意只能在string数据类型的列上调用str属性)
str_1 = df['api'].str
# 字符串替换函数
str_2 = df['bwedu'].str.replace('C','')
# 判断是不是数字
str_3 = df['bwendu'].str.isnumeric()
# 计算series的长度
str_4 = df['api'].str.len()

# 2.使用str的startswith,contains得到的bool的series可以做条件查询
str_5 = df['ymd'].str.startswith('2018-03')  # 挑选出2018-03的所有数据

# 3.需要多次str处理的链式操作
"""
如何提取201803这样的数字月份
1.先将2018-03-01转换为20180301
2.提取月份字符串201803的数据
"""
str_6 = df['ymd'].str.replace('-','').str.slice(0,6)
str_7 = df['ymd'].str.replace('-','').str[0:6]

# 4.使用正则表达式的处理
#定义一个函数
def get_year_maonth_day(x):
    year,month,day = df['ymd'].str.split('-')
    return f"{year}{month}{day}日"
# 添加一个新列
df['中文日期'] = df.apply(get_year_maonth_day,axis=1)
# 如何将新列中的年月日三个中文字符去掉
#方法1:使用链式法则
str_8 = df['中文日期'].str.replace('年','').str.replace('月','').str.replace('日','')
#方法2:正则表达式替换
str_9 = df['中文日期'].str.replace('[年月日]','')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值