ich habe eine csv-Datei in Python eingelesen, und versuche die Daten zu säubern.
Das ist die folgende Funktion:
Dieser Code funktioniert leider nicht, und ich weiss nicht, wo mein Fehler ist.# Datum war manchmal komisch formatiert, diese Funktion korrigiert das
def fix_gaps(str):
m = re.search(r'[12]\d{5}:', str)
n = re.search(r'[12]\d{4}:', str)
if m is not None:
loc = m.span()[0] + 4
return str[:loc] + " " + str[loc:]
elif n is not None:
loc = n.span()[0] + 4
return str[:loc] + " " + str[loc:]
else: return str
# Datetime säubern
df['article_datetime'] = df['article_datetime'].apply(lambda x: x.replace('‎', "").replace('Published',''))
df['article_datetime'] = df['article_datetime'].apply(lambda x: parse(fix_gaps(x)).date())
Kann mir jemand bitte behilflich sein???---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-66-dbd28c776b3b> in <module>
1 # Datetime säubern
----> 2 df['article_datetime'] = df['article_datetime'].apply(lambda x: x.replace('‎', "").replace('Published',''))
3 df['article_datetime'] = df['article_datetime'].apply(lambda x: parse(fix_gaps(x)).date())
/Applications/anaconda3/lib/python3.8/site-packages/pandas/core/series.py in apply(self, func, convert_dtype, args, **kwds)
3846 else:
3847 values = self.astype(object).values
-> 3848 mapped = lib.map_infer(values, f, convert=convert_dtype)
3849
3850 if len(mapped) and isinstance(mapped[0], Series):
pandas/_libs/lib.pyx in pandas._libs.lib.map_infer()
<ipython-input-66-dbd28c776b3b> in <lambda>(x)
1 # Datetime säubern
----> 2 df['article_datetime'] = df['article_datetime'].apply(lambda x: x.replace('‎', "").replace('Published',''))
3 df['article_datetime'] = df['article_datetime'].apply(lambda x: parse(fix_gaps(x)).date())
AttributeError: 'float' object has no attribute 'replace'
Vielen Dank
Hope