неоднозначный DataFrame в применении - PullRequest
0 голосов
/ 23 октября 2018

У меня есть следующий код:

def joinOneRow(ser, df):
     temp = df[df.index == 
                max(df.index[df.index <= 
                ser.index[0]])]
     return temp.values[0][0], temp.values[0][1];

def joinWithData(df1, df):
    askTemp, bidTemp = zip(*df1.apply(joinOneRow, args = (df)))

    return askTemp, bidTemp

Индекс в df1, а df - это отметка времени.У df есть 2 столбца.Проблема в том, что я хотел бы сделать следующую строку:

askTemp, bidTemp = zip(*trades.apply(ef.joinWithData, args = ob))

У меня ошибка:

"Значение истинности для DataFrame неоднозначно. Используйте a.empty, a.bool (), a.item (), a.any () или a.all (). "

Обновление для трассировки:

Traceback (most recent call last):

File "<ipython-input-5-f74779a26578>", line 1, in <module>
 askTemp, bidTemp = zip(*trades1.apply(ef.joinWithData, args = ob1))

File "C:\Anaconda\lib\site-packages\pandas\core\frame.py", line 6003, in 
 apply
  kwds=kwds)

File "C:\Anaconda\lib\site-packages\pandas\core\apply.py", line 29, in 
frame_apply
  args=args, kwds=kwds)

File "C:\Anaconda\lib\site-packages\pandas\core\apply.py", line 39, in 
 __init__
  self.args = args or ()

   File "C:\Anaconda\lib\site-packages\pandas\core\generic.py", line 1573, 
in __nonzero__
   .format(self.__class__.__name__))

 ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
...