我有一个数据集,其中一列中包含一些具有无效条目的行。
我试图从 B 列和 C 列中选择所有不同的行,但 B 列有无效条目。A 列中的字符串包含 B 列的正确名称,因此如果我能弄清楚如何选择 str(b) 在 str(a) 中的所有行,那么我最终应该只得到正确的数据。
伪代码可能如下所示:
SELECT DISTINCT b,c FROM some.log WHERE date = 'today' AND str(b) IN str(a)
Run Code Online (Sandbox Code Playgroud)
我知道如何使用 Python 来解决这个问题,但每一行的 A 列都是唯一的。因此,如果我选择不同的行并包含 A 列,我实际上只是选择了所有行,这会产生一个 60gb 的文件。
python 代码如下所示:
df = df[df.apply(lambda x: x.name in x.url, axis=1)]
Run Code Online (Sandbox Code Playgroud)
这会导致这样的事情:
df
a b c
/bobs/burgers/1234 bobs idx
/bobs/burgers/2234 fred idx
/cindys/sandwhiches/3234 cindy idx
df = df[df.apply(lambda x: x.name in x.url, axis=1)]
a b c
/bobs/burgers/1234 bobs idx
/cindys/sandwhiches/3234 cindy idx
Run Code Online (Sandbox Code Playgroud)
是否可以使用 …