Я работаю над постановкой задачи, в которой я должен представлять неправильную передачу данных в час.Я имею в виду https://www.kaggle.com/gpsaikrishna/credit-card-fraud-detection-smote-deep-learning только для представления данных.
Я попытался поместить данные в мой рабочий каталог.Все еще получаю ошибку ОС.Дата и время моей системы находятся на автоматическом обновлении с отключенным переходом на летнее время.И отформатирован как время: 24 часа;ЧЧ: мм и дата: ДД-ММ-ГГГГ
Ниже приведен код, который я пытаюсь запустить в своей системе из ядра Kaggle
def convert_totime(seconds):
return datetime.datetime.fromtimestamp(seconds);
timeAnalysis = data[['Time', 'Amount', 'Class']].copy()
timeAnalysis['datetime'] = timeAnalysis.Time.apply(convert_totime)
timeDelta = datetime.datetime.utcnow() - datetime.datetime.now()
# As the max time is 172792 seconds and 172792 / (60*60) is about 48 hrs so we only have data for 2 days so only
# plotting data against hours make sense
timeAnalysis['hour of the day'] = timeAnalysis.datetime + timeDelta
timeAnalysis['hour of the day'] = timeAnalysis['hour of the day'].dt.hour
timeAnalysisGrouped = timeAnalysis.groupby(['Class', 'hour of the day'])['Amount'].count()
Я получаю сообщение об ошибке
OSError Traceback (most recent call last)
<ipython-input-77-002a1f9a93fc> in <module>()
3
4 timeAnalysis = data[['Time', 'Amount', 'Class']].copy()
----> 5 timeAnalysis['datetime'] = timeAnalysis.Time.apply(convert_totime)
6 timeDelta = datetime.datetime.utcnow() - datetime.datetime.now()
7 # As the max time is 172792 seconds and 172792 / (60*60) is about 48 hrs so we only have data for 2 days so only
~\AppData\Local\conda\conda\envs\env\lib\site-packages\pandas\core\series.py in apply(self, func, convert_dtype, args, **kwds)
3190 else:
3191 values = self.astype(object).values
-> 3192 mapped = lib.map_infer(values, f, convert=convert_dtype)
3193
3194 if len(mapped) and isinstance(mapped[0], Series):
pandas/_libs/src\inference.pyx in pandas._libs.lib.map_infer()
<ipython-input-77-002a1f9a93fc> in convert_totime(seconds)
1 def convert_totime(seconds):
----> 2 return datetime.datetime.fromtimestamp(seconds);
3
4 timeAnalysis = data[['Time', 'Amount', 'Class']].copy()
5 timeAnalysis['datetime'] = timeAnalysis.Time.apply(convert_totime)
OSError: [Errno 22] Invalid argument
Я ожидаю график количества транзакций мошенничества, используя приведенный ниже код:
plt.figure(figsize = (10, 6))
fraudTransactions = timeAnalysisGrouped[1].copy()
fraudTransactions.name = 'Number of transactions'
fraudTransactions.plot.bar(title = 'Number of fraud credit card transactions per hour', legend = True)