python - 根据当前数组中每个项目的第一个元素创建新数组
问题描述
如果我的术语不正确,请原谅我 - 我是新手!
我试图根据数组中每个项目中第一个元素的值来隔离某些条目,并对某些列执行一些操作。这是我正在使用的数据类型的示例:
[[1, 99, 400],
[1, 95, 200],
[2, 92, 100],
[1, 85, 500],
[2, 88, 300]]
对于每个条件,我需要分别使用 a for loop
、if statement
和算术计算第 2 列和第 3 列的平均值(反映在第 1 列中,其中值为 1 或 2)。
我正在尝试将上述数组拆分为每个条件的两个单独的数组,然后使用numpy.mean
. 这是我希望列表的样子:
cond1 = [[1, 99, 400], [1, 95, 200], [1, 85, 500]]
cond2 = [[2, 92, 100], [2, 88, 300]]
我坚持如何根据第一个元素将这些条件分成两个新数组。这是我在谷歌上搜索切片后得到的最远距离……但我被卡住了!
for x in stim:
if stim_acc[0]==1.0:
np.where(stim_acc[0] = 1.0)
cond1 = [[s,a,rt] for s, a, rt in zip(stim, acc, mrt)]
print(cond1)
关于stim
,acc
和mrt
:
我有几列长的数据集,从中我将刺激(现在stim
)、准确性(现在acc
)和平均反应时间(现在mrt
)条目分离到一个新列表中(本文中的第一个)。我这样做是这样的:
stim = data[:,1]
acc = data[:,3]
mrt = data[:,4]
stim_acc = [[s, a, rt] for s, a, rt in zip(stim, acc, mrt)]
print(stim_acc)
我先发制人地命名了新列表stim_acc
,因为我预见到它会变成一个列表,计算循环中每个条件的准确性。
谢谢,非常感谢您的帮助。
解决方案
据我了解,您想按索引 [0] 的值将列表拆分为两个列表。如果是 1 则添加到cond1
' 列表中,否则添加到cond2
' 列表中。您可以使用以下代码实现此目的:
cond1=[]
cond2=[]
for item in listoflists:
if item[0] == 1:
cond1.append(item)
else
cond2.append(item)
推荐阅读
- jquery - 引导搜索栏添加“?搜索=”到路由器
- multithreading - 代号一:需要访问 UI 的后台线程
- css - 响应式设计的 CSS 媒体查询在 SASS 中不起作用
- excel - 防止用户从外部源粘贴到 Excel
- javascript - CSS焦点轮廓没有被焦点可见的polyfill删除[NextJS]
- android - 在 Android 中释放动态创建的控件
- amazon-s3 - yauzl 返回错误:未找到中央目录记录签名的结尾
- pandas - 关于构建具有多条件的列的建议
- javascript - HandleClick 不改变状态
- java - 我的程序有问题或 netbeans 错误