У меня есть кадр данных Dask, который выглядит следующим образом:
class1 statement class2 value
<geoentity_Pic_de_Font_Blanca_2986043> <hasLatitude> 42.64991^^<degrees> 42.64991
<geoentity_Pic_de_Font_Blanca_2986043> <hasLongitude> 1.53335^^<degrees> 1.53335
<geoentity_Pic_de_Font_Blanca_2986043> <hasGeonamesEntityId> 2986043 NaN
<geoentity_Pic_de_Font_Blanca_2986043> rdfs:label Pic de Font Blanca NaN
Я пытаюсь проверить, совпадает ли число в class1
с числом в class2
для всех строк <hasGeonamesEntityId>
; так что я могу избавиться от этих строк, так как они будут нести ненужно дублированные данные.
Я пытался:
df[(df['statement'] == '<hasGeonamesEntityId>') & (df['class1'].str.extract(r'_(\d+)>$') == df['class2'])].head()
, но это дает мне следующую ошибку:
E:\WPy-3710\python-3.7.1.amd64\lib\site-packages\dask\dataframe\core.py in __getitem__(self, key)
3347 graph = HighLevelGraph.from_collections(name, dsk, dependencies=[self, key])
3348 return new_dd_object(graph, name, self, self.divisions)
-> 3349 raise NotImplementedError(key)
3350
3351 def __setitem__(self, key, value):
NotImplementedError: Dask DataFrame Structure:
0 1
npartitions=442
bool bool
... ...
... ... ...
... ...
... ...
Dask Name: and_, 3978 tasks
Мои dtypes
:
class1 category
statement category
class2 object
value category
Я не уверен, почему это не удается, поскольку extract
само по себе, похоже, возвращает правильную подстроку. Кто-нибудь знает, что я делаю не так?