我是python的新手。我有一个要在数组中检查的值列表,并将第一个实例存储在新的单个数组中。
我的列表如下:
list = ['1','2','A','B']
我的数组看起来像:
col1 col2 col3 col4
0 1 B 2 A
1 9 A 2 B
2 7 k 1 A
3 I 2 1 A
4 9 3 B 3
5 W Y 5 A
我想使用一个for循环来遍历数组矩阵,并在列表中找到值的第一个实例,并将它们存储在新数组中。
new_array = ['1','A','2','B','A']
我该怎么做?
如果尝试过类似的操作:
for i in range(0,3):
if array[i] in ('1','2','A','B'):
new_array = i
但这不起作用。
这是我的实际代码:
import pandas as pd
df = pd.DataFrame('stat1':'1','stat2':'b','stat3':'2','stat4':'v',
'stat5':'3','stat6':'v','stat7':'2','stat8':'1',
'stat9':'c','stat10':'2','stat11':'2','stat12':'c',
'stat13':'1','stat14':'x','stat15':'1','stat16':'c',
'stat17':'c','stat18':'2','stat19':'2','stat20':'2',
'stat21':'3','stat22':'1','stat23':'c','stat24':'1',},index=df.index)
stat =pd.as_matrix(columns=df.columns[:])
new_array = []
for n in range(0,23):
if stat[n] in ("3","4","5","6","7","8","9","A", "B", "E", "Q", "R", "Y",
"L", "I", "J", "W", "AA", "AC", "AD") and new_array == []:
new_array = n
答案 0 :(得分:0)
一旦找到元素,您就可以中断循环
res = []
for line in matrix:
for ele in line:
if ele in ('1','2','A','B'):
res.append(ele)
break
答案 1 :(得分:0)
这可以做到:
onClosed
您可以简单地用实际值替换mat和list。