gpt4 book ai didi

python - Pandas 在数据框中搜索日期格式和非日期格式

转载 作者:太空宇宙 更新时间:2023-11-04 08:32:13 25 4
gpt4 key购买 nike

这是我的场景:

我需要搜索 . . .假设以下 3 个术语:“苹果”、“糖果”和“时间”。

我还需要搜索“MM/dd/yyyy”中的任何值。

我需要搜索整个数据框列“A”列,以查找所有这 4 个内容。

假设我有一个如下所示的数据框:

df4

A Q R S
0 Apple chair red english
1 orange desk blue german
2 pear monitor yellow spanish
3 Apple chair purple english
4 10/01/2016 05/02/2004 05/05/2014 06/20/2018
5 02/20/2017 01/01/2017 07/07/2017 02/04/2004

我期望的输出是这样的:

            A           Q           R           S
0 Apple chair red english
3 Apple chair purple english
4 10/01/2016 05/02/2004 05/05/2014 06/20/2018
5 02/20/2017 01/01/2017 07/07/2017 02/04/2004

搜索实际单词没有问题。我不知道如何同时搜索单词和搜索日期格式。

有人有什么建议吗?

最佳答案

在这里检查多个条件将遍历整个列两次,这可能会变得昂贵(尤其是使用 pandas' 已经很慢的字符串操作)。单个正则表达式能够轻松完成此任务:

keys = ['apple', 'candy', 'time']
rgx = fr"(?i){'|'.join(keys)}|\d{{2}}/\d{{2}}/\d{{4}}"

df.loc[df.A.str.contains(rgx)]

            A           Q           R           S
0 Apple chair red english
3 Apple chair purple english
4 10/01/2016 05/02/2004 05/05/2014 06/20/2018
5 02/20/2017 01/01/2017 07/07/2017 02/04/2004

如果你没有使用 Python 3.6+,同样的想法可以使用 format 来表达:

rgx = r"(?i){}|\d{{2}}/\d{{2}}/\d{{4}}".format('|'.join(keys))

关于python - Pandas 在数据框中搜索日期格式和非日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51993333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com