Я довольно новичок в работе с ноутбуком Jupyter. В целом мне это нравится, хотя иногда я получаю странные ошибки, которые иногда появляются, а иногда нет. Например, у меня есть набор данных, который выглядит следующим образом (показывает .head ()):

Теперь, если я установлю, скажем, Volume = data ["avg_volume"], а затем произнесу volume.head (), я получу это:

Но допустим, я удалил эту строку и поместил ее куда-то еще, иногда я получаю эту ошибку:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-9-9c1c4c11ebf0> in <module>()
----> 1 volume = data["avg_volume"]
2 volume.head()
TypeError: 'float' object is not subscriptable
Я заметил, что делать это после этой строки:
pnl = data["MTM_pnl"]
for data in pnl:
if(data > 0):
profit = np.sum(data)
print(profit)
вызовет проблему. Я просто не понимаю, почему это происходит, это не имеет смысла для меня и заставляет меня верить, что использование ноутбука Jupyter - это мусор.
Вот код:
# coding: utf-8
# In[1]:
# import modules
import numpy as np
import pandas as pd
import torch
import matplotlib.pyplot as plt
import tensorflow as tf
# In[2]:
# import dataset
data = pd.read_csv('output.csv')
data.head()
# In[3]:
# Goal with data set: The goal is to maximize the PNL column, secondary goals are to minimize MAE (Maximum Adverse Excursion)
# and maximize MFE (Maximum Favorable Excursion). Once a predictable model is established the next step is to work on adding
# alpha by optimizing the stop/take profit logic.
# Assumptions: The thesis is that an earning stock (a stock that has published an earnings report in the past 24 hours)
# that gaps on open, continues in the direction of the gap.
# In[4]:
# Get statistical information
data.describe()
# In[5]:
# See how correlated each variable is to MTM_pnl
data.corr(method='pearson', min_periods=1)
# In[6]:
# create some histograms
data[data.dtypes[(data.dtypes=="float64")|(data.dtypes=="int64")]
.index.values].hist(figsize=[11,11])
# In[7]:
# def maximize_profit(data):
# LIR = data["LIR"]
# volume = data["avg_volume"]
# earnings = data["earning_time"]
volume = data["avg_volume"]
volume.head()
# In[8]:
pnl = data["MTM_pnl"]
for data in pnl:
if(data > 0):
profit = np.sum(data)
print(profit)
# In[9]:
volume = data["avg_volume"]
volume.head()
Набор данных можно найти здесь . Нет, само хранилище github не имеет отношения к делу, но это первая идея, которую я должен был дать доступ к набору данных.