如何解决:ValueError: Series的真值是不明确的.使用a.empty a.bool (), a.item



如何解决这个错误代码:

我试过调试,发现错误出现在2。get_klines_iter(..)

的while循环中的行下面是我的函数:
def ms_to_dt_utc(self,ms: int) -> datetime:
return datetime.datetime.fromtimestamp(ms)
def get_klines_iter(self,symbol, interval, start, end, limit=1000):
url = 'https://api.kucoin.com/api/v1/market/candles?type=' + interval + '&symbol=' + 
symbol + '&startAt=' + str(startDate) + '&endAt=' + str(end)
df = pd.DataFrame()
startDate = start
while startDate <= end:
data = requests.get(url)
df = pd.json_normalize(data.json())
df2 = pd.DataFrame(df['data'].iloc[0])
columns_names = ["Time", "Open", "Close", "High", "Low", "Volume", "Transaction Amount"]
df2.columns = columns_names
df2["Time"] = df2["Time"].apply(lambda x: self.ms_to_dt_utc(int(x)))
df2.reset_index(drop=True, inplace=True)   

我在这里调用函数:

data = self.get_klines_iter(self.DATA_NAME,self.interval,timestamp_datefrom ,timestamp_dateto)

ValueError:                                Traceback (most recent call last)
/Users/dekahalane/Desktop/DQN_060722/Main.ipynb Cell 14 in <cell line: 6>()
4 DATASET_FOLDER = r'ASD-USDT'
5 FILE = r'ASD-USDT.csv'
----> 6 data_loader = YahooFinanceDataLoader(DATASET_FOLDER, FILE, '8hour', '2021-01-10', load_from_file=False)
7 transaction_cost = 0.0
File ~/Desktop/DQN_060722/DataLoader_F/DataLoader.py:59, in YahooFinanceDataLoader.__init__(self, dataset_folder, file_name, interval, split_point, begin_date, end_date, load_from_file, load_from_binance)
56 f = open(self.file_path, 'a')
58 if not load_from_file:
---> 59     self.data, self.patterns = self.load_data()
60     self.save_pattern()
61     self.normalize_data()
File ~/Desktop/DQN_060722/DataLoader_F/DataLoader.py:164, in YahooFinanceDataLoader.load_data(self)
162 dateto = datetime.datetime.now()
163 timestamp_dateto = int(round(dateto.timestamp()))
--> 164 data = self.get_klines_iter(self.DATA_NAME,self.interval,timestamp_datefrom ,timestamp_dateto)
165 #print(data.head())
166 #data.dropna(inplace=True)
167 #data.set_index('time', inplace=True)
168 #data.rename(columns={'Close': 'close', 'Open': 'open', 'High': 'high', 'Low': 'low'}, inplace=True)
169 data['mean_candle'] = data.close
...
1528         f"The truth value of a {type(self).__name__} is ambiguous. "
1529         "Use a.empty, a.bool(), a.item(), a.any() or a.all()."
1530     )
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

我认为你的错误来自你的lambda函数。

可能你的函数ms_to_dt_utc是未定义的。

相关内容