如何在熊猫中使用正则表达式?

布比西

我从.csv文件中提取了列名,现在我想使用正则表达式来大写单词的第一个字母和该字符之后的第一个字母_示例:loan_status->贷款状态

Loan_ID
loan_status
Principal
terms
effective_date
due_date
paid_off_time
past_due_days
age
education
Gender

到目前为止,这是我想出的 (^[a-z])+\w+

更新感谢WiktorStribiżew,这是我想出的。我想知道是否有更紧凑的方法来执行以下操作。

import csv
import pandas  as pd
import re


dataFrame = pd.read_csv('Loan_payments_data_2020_unclean.csv')

columnsDict = {"columnName": list(dataFrame.columns)}
columnsDataFrame = pd.DataFrame(columnsDict)

replacedColumns = columnsDataFrame['columnName'].str.replace(r'(?<![^_]).', lambda x: x.group().upper())
dataFrame.columns = list(replacedColumns)
print(dataFrame)
维克多·史翠比维

您可以使用

>>> df = pd.DataFrame({'Loan_ID': ['loan_status','Principal','terms','effective_date','due_date','paid_off_time','past_due_days','age','education','Gender']})
>>> df['Loan_ID'].str.replace(r'(?<![^_]).', lambda x: x.group().upper())
0       Loan_Status
1         Principal
2             Terms
3    Effective_Date
4          Due_Date
5     Paid_Off_Time
6     Past_Due_Days
7               Age
8         Education
9            Gender
Name: Loan_ID, dtype: object

(?<![^_]).正则表达式匹配比换行字符要么是在字符串的开始或之后立即出现其他任何字符_字符。它等于(?:(?<=^)|(?<=_)).regex,在线查看其演示

由于您不能在字符串替换模式中操作匹配的值,因此需要一个callable作为替换参数。lambda x: x.group().upper()只是获取匹配值并将其转换为大写。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在正则表达式中使用变量?

如何在正则表达式中使用变量?

如何在VBA中使用正则表达式?

如何在angularjs中使用正则表达式

如何在Swift中使用正则表达式?

如何在熊猫中使用正则表达式掩盖具有某些nan值的列?

如何在熊猫系列中使用选择性正则表达式执行替换?

如何在Kotlin正则表达式中使用正则表达式开始标记(^)

在熊猫中使用正则表达式的多种模式

如何在Powershell中使用正则表达式

如何在angularJs表达式中使用该正则表达式?

如何在Scala中使用正则表达式?

使用正则表达式时如何在熊猫中保留所有列

如何在熊猫替换功能中使用正则表达式捕获组

如何在NiFi表达式语言中使用正则表达式捕获组变量?

如何在熊猫中对命名组使用多个正则表达式

如何在yii中使用正则表达式

如何在php中使用正则表达式?

如何在正则表达式中使用加号

如何在grep中使用正则表达式(仅基本正则表达式)实现替换?

如何在iptables中使用正则表达式

如何在正则表达式函数中使用

如何在正则表达式中使用“[”和“]”

如何在python中使用正则表达式?

如何在列中具有不同记录的熊猫数据框中使用正则表达式?

如何在Javascript正则表达式中使用{{}}

如何在熊猫中使用正则表达式替换多个整数值

在熊猫的正则表达式中使用列名

如何在熊猫系列中使用字典和正则表达式转换字符串列值