当前位置: 首页 > 知识库问答 >
问题:

我不明白这是什么意思:一个系列的真值是模糊不清的。使用a.empty、a.bool()、a.item()、a.any()或a.all()

纪晨
2023-03-14

我为uni开了一门课,我们开始编写代码,将数据解释成数据格式、图形等。在我们的一个作业中,我们得到了一个使用鼠标移动的实验数据。我们有不同的选项可以使用这些数据,我选择了尝试查找鼠标改变其路径的次数。我认为最好的方法是找到像素的差异,并将某些差异分配给它们的方向(使用循环)(这可能不是最好的方法,但我正在尝试:))。分配方向后,我可以再次查看差异。如果这些差异!=0,路径将会改变。遗憾的是,我没有通过第一部分,因为我得到了一个错误。我使用了以下代码:

if (df_paths_clean['x'].diff() == 0) & (df_paths_clean['y'].diff() > 0):
        df_paths_clean['direction'] == '1'
        
elif (df_paths_clean['x'].diff() > 0) & (df_paths_clean['y'].diff()) > 0:
        df_paths_clean['direction'] == '2'
        
elif (df_paths_clean['x'].diff() > 0) & (df_paths_clean['y'].diff() == 0):
        df_paths_clean['direction'] == '3'
        
elif (df_paths_clean['x'].diff() > 0) & (df_paths_clean['y'].diff() < 0):
        df_paths_clean['direction'] == '4'
        
elif (df_paths_clean['x'].diff() == 0) & (df_paths_clean['y'].diff() < 0):
        df_paths_clean['direction'] == '5'
        
elif (df_paths_clean['x'].diff() < 0) & (df_paths_clean['y'].diff() < 0):
        df_paths_clean['direction'] == '6'
        
elif (df_paths_clean['x'].diff() < 0) & (df_paths_clean['y'].diff() == 0):
        df_paths_clean['direction'] == '7'
        
elif (df_paths_clean['x'].diff() < 0) & (df_paths_clean['y'].diff() > 0):
        df_paths_clean['direction'] == '8'

else: (df_paths_clean['direction'] == '0')

并得到以下错误:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-87-7e2d60410e6c> in <module>
      6 
      7 
----> 8 if (df_paths_clean['x'].diff() == 0) & (df_paths_clean['y'].diff() > 0):
      9         df_paths_clean['direction'] == 'N'
     10 

C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\generic.py in __nonzero__(self)
   1327 
   1328     def __nonzero__(self):
-> 1329         raise ValueError(
   1330             f"The truth value of a {type(self).__name__} is ambiguous. "
   1331             "Use a.empty, a.bool(), a.item(), a.any() or a.all()."

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

作为一个新手,我真的不知道该怎么做,同学们也不知道怎么做!提前感谢所有的帮助:)!

共有1个答案

国兴文
2023-03-14

我猜你的问题和这个问题很相似:一个级数的真值是模糊不清的。使用a.empty、a.bool()、a.item()、a.any()或a.all()。你可以去看看。

 类似资料: