计算多列数据发生次数时出现广播错误

2024-09-29 02:21:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用pandas计算所有列中特定行上数据的出现率。我使用的数据是一个压力值,我需要找到,如果实际观测数据(D3)出现在所有柱的其他行上。以下是我使用的数据:-

Date         AA1      BB1    CC1     AA2     BB2     CC2     AA3     BB3     CC3
01/06/2016  1008    1007.5  1008    1008.4  1006.8  1008    1008.4  1007.4  1008
02/06/2016  1007.8  1007.4  1008.8  1007.8  1006.8  1008.8  1007.6  1007    1008.8
03/06/2016  1007.8  1006.4  1008.2  1007.8  1006.4  1008.2  1006.8  1007    1008.2
04/06/2016  1007.4  1006.5  1007    1007.8  1006.4  1007    1007.6  1006.4  1007
05/06/2016  1008    1006.2  1007.3  1007    1006.8  1007.3  1007.6  1006.4  1007.3
06/06/2016  1007.8  1006.8  1007.9  1007.6  1006.8  1007.9  1007.2  1007    1007.9
07/06/2016  1007.4  1007.4  1007.3  1008    1006.4  1007.3  1007.8  1006.8  1007.3
08/06/2016  1006.4  1005.8  1007    1006.8  1006.4  1007    1007.8  1007    1007
09/06/2016  1007.6  1006    1007.4  1007.4  1005.4  1007.4  1007.6  1007    1007.4
10/06/2016  1008.2  1006.6  1008.3  1008.4  1006.4  1008.3  1008.4  1007.4  1008.3
11/06/2016  1009.2  1007.8  1009    1009    1006.8  1009    1009    1008.2  1009
12/06/2016  1009    1007.4  1010    1009.6  1008.2  1010    1008.5  1007.2  1010
13/06/2016  1010    1009    1009    1009.4  1008.4  1009    1009    1008    1009
14/06/2016  1010.4  1009    1010    1011    1008.9  1010    1009.8  1007.2  1010
15/06/2016  1009.4  1009.2  1009    1009.1  1008.8  1009    1009.9  1008    1009
16/06/2016  1008.8  1007    1007.8  1008.2  1007.2  1007.8  1009    1007    1007.8
17/06/2016  1007    1006    1006.7  1007    1006    1006.7  1007.4  1006.2  1006.7
18/06/2016  1006.5  1005.2  1005.5  1006    1006    1005.5  1006    1006.5  1005.5
19/06/2016  1006.8  1006    1006.4  1007    1005.2  1006.4  1006    1005    1006.4
20/06/2016  1006    1006    1005.2  1005.9  1005.2  1005.2  1007    1004.6  1005.2
21/06/2016  1006.8  1006    1005.4  1006    1004.8  1005.4  1005.2  1005    1005.4
22/06/2016  1006.8  1005.8  1006.7  1008.8  1008    1006.7  1005.8  1006.6  1006.7
23/06/2016  1008    1007.6  1008.7  1009    1007.5  1008.7  1007.2  1008    1008.7
24/06/2016  1006    1005    1008    1007.8  1007    1008    1007.2  1007.6  1008
25/06/2016  1007    1005.8  1008.4  1007    1006    1008.4  1006.8  1007.2  1008.4
26/06/2016  1008    1008    1008.6  1008    1006.8  1008.6  1006    1006    1008.6
27/06/2016  1007.8  1006.4  1008    1006    1006    1008    1007.8  1006.6  1008
28/06/2016  1007.8  1006    1006.4  1006.4  1006.6  1006.4  1007    1007    1006.4
29/06/2016  1006    1008    1007.8  1008    1006.8  1007.8  1008    1007.2  1007.8
30/06/2016  1008    1008    1008.4  1008.2  1008    1008.4  1007.8  1007.8  1008.4
01/07/2016  1008    1007.4  1007.4  1008    1007.5  1007.4  1008    1008    1007.4
02/07/2016  1007    1006.5  1007.8  1007.9  1006.9  1007.8  1007    1006.5  1007.8
03/07/2016  1007.4  1007.2  1007.8  1008    1007    1007.8  1008    1007.5  1007.8
04/07/2016  1008.2  1007.8  1007.9  1008.4  1007.4  1007.9  1008.2  1008    1007.9
05/07/2016  1008    1008    1009.1  1009    1008.2  1009.1  1008.8  1008.6  1009.1
06/07/2016  1008    1008.2  1008.5  1008    1007.5  1008.5  1008.8  1008.5  1008.5
07/07/2016  1007.8  1007.5  1008.3  1008.2  1007.8  1008.3  1008.5  1007.5  1008.3
08/07/2016  1007.5  1008.5  1007.8  1007.9  1007.5  1007.8  1008.5  1008    1007.8
09/07/2016  1008        1008.4  1008    1007.5  1008.4  1008.2  1007.4  1008.4
10/07/2016  1007.8  1008    1008.1  1008        1008.1  1008.5  1007.8  1008.1
11/07/2016  1008.2  1007.6  1008.2  1008.4  1007.8  1008.2  1008.8      1008.2
12/07/2016  1008    1006.6  1008.4  1008    1006.5  1008.4  1008.5  1006.4  1008.4
13/07/2016  1008.2  1007.2  1009.1  1008.4  1006.8  1009.1  1008.8  1007    1009.1
14/07/2016  1007.4  1006.8  1008.6  1007.2  1006.8  1008.6  1007.8  1006.2  1008.6
15/07/2016  1006.4  1006.9  1007.2  1006.8  1007    1007.2  1006    1006.9  1007.2
16/07/2016  1006.4  1006.8  1007    1006    1007    1007    1006    1007    1007
17/07/2016  1007.8  1007.4  1008.2  1007.7  1007.6  1008.2  1007.6  1007.8  1008.2
18/07/2016  1010    1009    1009.8  1010    1009.2  1009.8  1010    1009.8  1009.8
19/07/2016  1010    1009    1010.4  1010    1009.6  1010.4  1010.2  1010.2  1010.4
20/07/2016  1008    1009.5  1009.7  1009.2  1009    1009.7  1009.8  1009.2  1009.7
21/07/2016  1008    1007    1008.6  1008    1007.5  1008.6  1008    1007.4  1008.6
22/07/2016  1008    1006.8  1008.3  1007.8  1006.2  1008.3  1007.8  1008    1008.3
23/07/2016  1006.7  1006.5  1007.7  1008    1006.2  1007.7  1007.4  1006.2  1007.7
24/07/2016          1007.4  1007    1006.5  1007.4  1007.2  1005.2  1007.4
25/07/2016  1006.4  1006.7  1007.6          1007.6  1006    1006.5  1007.6
26/07/2016  1006.6  1006.5  1006.6  1005.8  1006.5  1006.6          1006.6
27/07/2016  1006.4  1007.2  1006.9  1006.4  1006.2  1006.9  1005.6  1006.5  1006.9
28/07/2016  1005.9  1006    1007.6  1006    1006    1007.6  1006.2  1006.5  1007.6
29/07/2016  1007    1007    1007.4  1007    1006.9  1007.4  1006.8  1007    1007.4
30/07/2016  1007    1007    1007.3  1007    1007.2  1007.3  1007    1006    1007.3
31/07/2016  1009    1008.5  1008.6      1007.2  1008.6  1008.6  1008.6  1008.6
01/08/2016  1009.2  1010    1009.6  1009.5  1009    1009.6  1009    1008.2  1009.6
02/08/2016  1008.4  1009    1009.9  1009.7  1009    1009.9  1009    1008.2  1009.9
03/08/2016  1006.6  1006.8  1007.4  1007.2  1006.8  1007.4  1008    1006    1007.4
04/08/2016  1007    1006    1007.1  1006.6  1006.4  1007.1  1006.8  1005.9  1007.1
05/08/2016  1008    1007    1008.2  1007.8  1007    1008.2  1008    1007.4  1008.2
06/08/2016  1007    1008.2  1009.2  1009.6  1007.6  1009.2  1008    1008    1009.2
07/08/2016  1007    1008.2  1008.7  1008.4  1008    1008.7  1008    1008    1008.7
08/08/2016  1007    1008.6  1009.6  1008.4  1008    1009.6  1009.2  1008.2  1009.6
09/08/2016  1009.6  1008.8  1009.8  1008.4  1008.2  1009.8  1009.2  1008.2  1009.8
10/08/2016          1009.6  1008.8  1008.6  1009.6  1009    1008    1009.6
11/08/2016  1009    1009.4  1009.7          1009.7  1009.8  1009    1009.7
12/08/2016  1010.4  1010    1011    1010.2  1009.8  1011            1011
13/08/2016  1010.2  1009.8  1010.2  1010    1009.2  1010.2  1010    1009.4  1010.2
14/08/2016  1009.2  1007.4  1009.5  1009    1007.6  1009.5  1009.4  1007.6  1009.5
15/08/2016  1009    1008    1009.3  1009.2  1008.4  1009.3  1009.2  1008.8  1009.3
16/08/2016  1008.6  1007.8  1009.1  1009    1007.5  1009.1  1009    1007.8  1009.1
17/08/2016  1007.8      1008.2  1008    1007.3  1008.2  1008    1007.2  1008.2
18/08/2016  1007.5      1007.4  1007.2      1007.4  1007.6  1007.1  1007.4
19/08/2016  1007    1007    1007.4  1006.6      1007.4  1006.8      1007.4
20/08/2016  1007    1006.5  1007.6  1007.4  1006.5  1007.6  1006.5      1007.6
21/08/2016  1007    1006.5  1007.3  1006.8  1006.4  1007.3  1006.8  1006.4  1007.3
22/08/2016  1007.5  1007    1008.2  1006.8  1006.4  1008.2  1006.5  1006.8  1008.2
23/08/2016  1008.5  1009    1008.7  1006.6  1006.5  1008.7  1006.5  1006.8  1008.7
24/08/2016  1007.8  1008.8  1008.7  1008    1007.8  1008.7  1006.5  1006.4  1008.7
25/08/2016  1007    1007    1008    1007.8  1007.4  1008    1007.6  1007.2  1008
26/08/2016  1007.8  1007.8  1008.1  1006.8  1006.5  1008.1  1008    1007    1008.1
27/08/2016  1007.8  1007.8  1008.1  1007.4  1007    1008.1  1006.5  1006.4  1008.1
28/08/2016  1008.2  1008.8  1009    1008    1007.9  1009    1007.6  1007.9  1009
29/08/2016  1008.2  1008.2  1008.6  1008    1008    1008.6  1008    1008.2  1008.6
30/08/2016  1008.2  1008.8  1008.2  1006.4  1006.2  1008.2  1007.8  1007.2  1008.2
31/08/2016  1005.8  1007.4  1006.6  1008    1008    1006.6  1006.4  1007    1006.6
01/09/2016  1008    1008    1010.8  1008    1007.8  1010.8  1007.8  1007.2  1010.8
02/09/2016  1005.8  1007.4  1010    1008.5  1009    1010    1009    1009.2  1010
03/09/2016  1008    1008    1010    1008    1007.8  1010    1008.5  1009.2  1010
04/09/2016          1009    1008.5  1009    1009    1009    1009.2  1009
05/09/2016  1010    1011.5  1011.5          1011.5  1008.5  1009.2  1011.5
06/09/2016  1011    1011    1010    1011    1011.5  1010            1010
07/09/2016  1008    1008        1011    1011        1011.5  1011    
08/09/2016  1010.5  1010.5  1010.2  1008.5  1009    1010.2  1010    1009.9  1010.2
09/09/2016  1009.5  1009.8  1010.2  1009.8  1010    1010.2  1008.5  1009.2  1010.2
10/09/2016  1009.2  1009.2  1009.8  1009.2  1009.8  1009.8  1009    1009    1009.8
11/09/2016  1009.5  1009.8  1009.5  1008.6  1008.5  1009.5  1008    1008.5  1009.5
12/09/2016  1009.5  1009.8  1008.4  1009.2  1009.8  1008.4  1007.6  1007    1008.4
13/09/2016  1009.2  1009.2  1008.4  1009    1009.8  1008.4  1008    1008.5  1008.4
14/09/2016  1008.5  1008    1008    1008.6  1008.5  1008    1008    1008    1008
15/09/2016  1008    1008    1008.3  1008    1007    1008.3  1007.6  1007    1008.3
16/09/2016  1006    1007    1008.3  1008    1007    1008.3  1008    1007.5  1008.3
17/09/2016  1008.7  1008    1008.7  1008.6  1008    1008.7  1009    1008    1008.7
18/09/2016  1008.4  1008    1008.8  1008.6  1008    1008.8  100.9.0 1008.4  1008.8
19/09/2016  1006    1007    1008    1009    1008    1008    1010    1009    1008
20/09/2016  1009    1008    1009.5  1008.6  1008    1009.5  1007.8  1009    1009.5
21/09/2016  1007.8  1007.4  1009.5  1008    1007    1009.5  100.9.0 1008.4  1009.5
22/09/2016  1009    1008    1009    1008.4  1008.2  1009    1008.8  1008    1009
23/09/2016  1008.8  1007.8  1009.1  1008    1007    1009.1  1008    1008    1009.1
24/09/2016  1007    1006.4  1007.7  1007    1006    1007.7  1008.8  1008    1007.7
25/09/2016  1006    1006    1006.8  1005.8  1005.6  1006.8  1005.8  1004.6  1006.8
26/09/2016  1007    1005.6  1007    1006    1006    1007    1006.2  1005.4  1007
27/09/2016  1006    1006    1008    1008    1007.2  1008    1007    1007    1008
28/09/2016  1008    1007.6  1008.9  1006    1006    1008.9  1008    1007.4  1008.9
29/09/2016  1007.2  1007    1008.9  1006.8  1007    1008.9  1007    1007    1008.9
30/09/2016  1008    1007.6  1007.5  1006.5  1006.5  1007.5  1006.6  1006    1007.5

我使用此特定代码来计算发生次数(如果最后一列数据在+或-1范围内):-

df = pd.read_csv(data_path, index_col=0, parse_dates=True, dayfirst=True)
occu_1 = (df[['AA3', 'BB3']].sub(df['CC3'], axis=0).abs() < 1).all(1).sum()

我面临的问题是,熊猫会导致以下值错误:-

ValueError: operands could not be broadcast together with shapes (244,) (122,)

让我困惑的是,我对其他参数有精确的行和列,这不会产生任何错误。有人能帮我找到正确的方向吗


Tags: 数据truepandasdfdate错误d3行上
1条回答
网友
1楼 · 发布于 2024-09-29 02:21:57

发现了问题。在我为计算而提取的一列中有一个值100.9.0。但我相信错误信息似乎指向了其他方面。类似地,我有另一个数据集,其中T位于数据集之间,它产生了相同的ValueError。非常奇怪的调试信息

相关问题 更多 >