理解Numpy中的语法X[Y==c]

2024-06-06 18:02:53 发布

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

请告诉我这个语法是如何工作的:current\ux=x[Y==c]。你知道吗

我已经在Ipython中打印了一些带有代码的示例(我在这里使用pandas作为pd):

In [120]: pd.DataFrame(X)
Out[120]: 
        0         1         2    3    4    5    6    7    8    9   ...   475  \
0  0.000000  0.000000  0.000000  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0   
1  0.070588  0.000000  0.000000  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0   
2  0.000000  0.000000  0.000000  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0   
3  0.000000  0.000000  0.000000  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0   
4  0.000000  0.000000  0.000000  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0   
5  0.000000  0.000000  0.000000  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0   
6  0.000000  0.000000  0.000000  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0   
7  0.596078  0.596078  0.062745  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0   
8  0.000000  0.000000  0.000000  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0   
9  0.000000  0.000000  0.000000  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0   

   476  477  478  479  480  481  482  483  484  
0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  
1  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  
2  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  
3  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  
4  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  
5  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  
6  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  
7  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  
8  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  
9  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  

[10 rows x 485 columns]

In [121]: pd.DataFrame(Y)
Out[121]: 
   0
0  1
1  7
2  9
3  4
4  5
5  1
6  1
7  6
8  1
9  1

In [122]: pd.DataFrame(X[Y == 5])
Out[122]: 
   0    1    2    3    4    5    6    7    8    9   ...   475  476  477  478  \
0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0  0.0 ...   0.0  0.0  0.0  0.0   

   479  480  481  482  483  484  
0  0.0  0.0  0.0  0.0  0.0  0.0  

[1 rows x 485 columns]

我不知道X[Y==5]是怎么得到这个结果的。 请选择hep lp


Tags: columns代码in示例dataframepandasipython语法
1条回答
网友
1楼 · 发布于 2024-06-06 18:02:53
# this returns a list of True or False depending if Y[i] == 5 for all i in Y
Y==5 => [False, False, False, False, True, False, False, False, False, False]

# this is known as boolean indexing ...
X[ [False, False, False, False, True, False, False, False, False, False] ] => your output

相关问题 更多 >