将正则表达式应用于数据框所有列的Python方法

普拉萨达夫:

我有一个在所有列中都包含关键字和值的数据框。请参见下面的示例。

输入数据框

我想将正则表达式应用于所有列。所以我使用for循环并应用正则表达式:

for i in range (1,maxExtended_Keywords):
    temp = 'extdkey_' + str(i)
    Extended_Keywords[temp] = Extended_Keywords[temp].str.extract(":(.*)",expand=True)

我得到了期望的最终结果。那里没有问题。

所需的输出

但是,只是古玩才有一种将正则表达式应用到整个数据帧的Python方法,而不是使用for循环和逐列应用。

谢谢,

盗版:

使用pandas.DataFrame.replaceregex=True

df.replace('^.*:\s*(.*)', r'\1', regex=True)

请注意,我的模式使用括号捕获后面的部分,':'并使用原始字符串r'\1'引用该捕获组。


MCVE

df = pd.DataFrame([
    [np.nan, 'thing1: hello'],
    ['thing2: world', np.nan]
], columns=['extdkey1', 'extdkey2'])

df

        extdkey1       extdkey2
0            NaN  thing1: hello
1  thing2: world            NaN

df.replace('^.*:\s*(.*)', r'\1', regex=True)

  extdkey1 extdkey2
0      NaN    hello
1    world      NaN

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将正则表达式应用于pandas数据框列

如何在不使所有列都成为字符的情况下将正则表达式应用于整个数据框

根据另一列中的值将正则表达式应用于数据框列

将正则表达式应用于熊猫数据框

如何将正则表达式应用于数据框列上的多个短语?

如何将正则表达式函数应用于数据框列以返回值

将带有正则表达式的函数应用于熊猫数据框

将字典应用于正则表达式

将正则表达式应用于R中的SQL数据库

将正则表达式格式应用于术语列表以与pandas列匹配

将正则表达式策略应用于BitBucket Cloud提交消息的最佳方法?

如何将正则表达式 sub 应用于 python 中的 csv 文件

将表达式应用于ruby搜索并用正则表达式替换

mysql正则表达式用于所有具有相同数据的列

如何将正则表达式应用于 Pandas 中的列以查找值,然后对其应用函数?

从pandas数据框列中查找所有正则表达式匹配项

如何使用正则表达式搜索所有 Spark 数据框列?

有没有办法将条件应用于熊猫中的正则表达式?

数据框列中的Python正则表达式

难以将正则表达式应用于 Rails 视图。我应该让它成为辅助方法吗?

什么是用于删除列中所有文本的python正则表达式?

将正则表达式应用于文本文件并将结果保存在字典 python 中

如何使用find_All()使用Python将正则表达式应用于BeautifulSoup

如何将任何正则表达式应用于 python 3 中的标记文本

将正则表达式应用于数值以替换nifi中的值时出错

如何使用jQuery将正则表达式应用于输入?

使用mmap将正则表达式应用于整个文件

使用Shell脚本将正则表达式以TSV格式应用于单列

将简单的正则表达式模式应用于SQL查询