my dataframe, data, looks like this
ID Query email phone
1 hi [] []
2 email is johnsmith@gmail.com [johnsmith@gmail.com] []
3 phone no is 12345678790 [] [12345678790]
I want to create a column called masked query which will look like this
ID Query email phone masked_query
1 hi [] [] [hi]
2 email is johnsmith@gmail.com [johnsmith@gmail.com] [] [email is XXXXXXXXXXXXXXXXXXX]
3 phone no is 12345678790 [] [12345678790] [phone no is XXXXXXXXXX]
我使用regex函数创建了email和phone列,我需要创建一个函数来创建这个列'masked_query'并屏蔽数据,但我不知道如何继续屏蔽数据。感谢任何帮助。
from math import ceil
def masking(string, perc=0.6):
chars = ceil(len(string) * perc)
return f'{"X" * chars}{string[chars:]}'
df['masked_query'] = df.Query.apply(masking)
备选方案2
df['masked_query'] = df.Query.apply(lambda x:re.sub('\w+@\w+.com|\d+',len(re.findall('\w+@\w+.com|\d+',s)[0]) * 'X', x)
if re.findall('\w+@\w+.com|\d+',x) else x)
不确定这是不是你要找的。
我正在寻找一种方法,防止在一个不需要关键词的地方匹配关键词。 看看下面的语法。“应用”和“输出”都是关键词。”OUTPUT'有一个包含任何字符的参数。 一切正常,但如果此参数包含单词APPLY,则会引发错误(外部输入APPLY预期规则_END)。 有办法解决这个问题吗?谢谢 示例文本 数字用户线
问题内容: 有没有一种方法可以选择其中一列仅包含,但包含任意数量的预定义值的行? 我一直在使用它,但是它返回的行中我的列至少包含一个值(我知道这正是它应该做的)。 但我正在寻找一种方法,仅选择在关键字列中仅包含我的关键字的行。 关键字示例: 使用上述关键字,我希望返回前两个结果,而不是后两个: 我的专栏包含用逗号分隔的适用于该产品行的所有关键字的列表。 问题答案: 由于您将列表存储为包含逗号分隔列
问题内容: 在PostgreSQL中,我有一个数据库,我打算进行以下表声明: 一切正常,除了在创建最后一个表(更正)时出现以下错误: 错误:没有唯一的约束匹配给定键的引用表“提交” 我对更正表的打算是对每个提交都有唯一的更正,但是一个提交可以(也可以不)具有更正。 我该如何解决这个错误?是设计问题还是表声明错误? 问题答案: 外键约束不关心所引用的列是否在引用另一列本身。但是引用的列 必须 是唯一
我想在Pandas数据集中创建一个新列,基于另外两个列的值。 现在,应该如下所示: 有什么帮助吗?
我们可以编写包含或不包含的代码,如下所示。 或 的实际用途是什么?。这是内存效率更高还是可读性更强?