如何将列 label/name 分配给数组中嵌套数组的每个元素?
How to I assign a column label/name to each element of a nested array within an array?
我有以下数据:
header = ['EXPERIMENT_ID', 'SESSION_ID', 'TRIAL_END', 'TRIAL_START']
data = ([(1, 1, 85.3543804, 74.7716105),
(1, 1, 95.3867684, 85.3710747),
(1, 1, 105.4189535, 95.4033732)])
如何使所有数据[n][0]都标记为'EXPERIMENT_ID',数据[n][1]标记为'SESSION_ID',数据[n][2]作为 'TRIAL_END' 和数据 [n][3] 作为 'TRIAL_START'?
我知道 dict() 是进行此组合过程的方法,因此我将其形象化为:
datadict = (dict(EXPERIMENT_ID = 1, SESSION_ID= 1, TRIAL_END = 85.3543804, TRIAL_START = 74.7716105), (dict(EXPERIMENT_ID = 1, SESSION_ID= 1, TRIAL_END = 95.3867684, TRIAL_START = 85.3710747)...)
我目前在 for 循环中有一个 for 循环,它通过一个一个地访问每个变量来执行此操作,但它在脚本本身中占用了相当大的 space 块。我想知道是否有更有效的方法来完成这项任务?
我们可以像 link 中提到的那样一起使用 dict() 和 zip() 。下面的代码仍然使用循环来遍历列表。
header = ['EXPERIMENT_ID', 'SESSION_ID', 'TRIAL_END', 'TRIAL_START']
data = ([(1, 1, 85.3543804, 74.7716105),
(1, 1, 95.3867684, 85.3710747),
(1, 1, 105.4189535, 95.4033732)])
out = []
for d in data:
out.append(dict(zip(header,d)))
print(out)
[{'EXPERIMENT_ID': 1, 'SESSION_ID': 1, 'TRIAL_END': 85.3543804, 'TRIAL_START': 74.7716105}, {'EXPERIMENT_ID': 1, 'SESSION_ID': 1, 'TRIAL_END': 95.3867684, 'TRIAL_START': 85.3710747}, {'EXPERIMENT_ID': 1, 'SESSION_ID': 1, 'TRIAL_END': 105.4189535, 'TRIAL_START': 95.4033732}]
我有以下数据:
header = ['EXPERIMENT_ID', 'SESSION_ID', 'TRIAL_END', 'TRIAL_START']
data = ([(1, 1, 85.3543804, 74.7716105),
(1, 1, 95.3867684, 85.3710747),
(1, 1, 105.4189535, 95.4033732)])
如何使所有数据[n][0]都标记为'EXPERIMENT_ID',数据[n][1]标记为'SESSION_ID',数据[n][2]作为 'TRIAL_END' 和数据 [n][3] 作为 'TRIAL_START'?
我知道 dict() 是进行此组合过程的方法,因此我将其形象化为:
datadict = (dict(EXPERIMENT_ID = 1, SESSION_ID= 1, TRIAL_END = 85.3543804, TRIAL_START = 74.7716105), (dict(EXPERIMENT_ID = 1, SESSION_ID= 1, TRIAL_END = 95.3867684, TRIAL_START = 85.3710747)...)
我目前在 for 循环中有一个 for 循环,它通过一个一个地访问每个变量来执行此操作,但它在脚本本身中占用了相当大的 space 块。我想知道是否有更有效的方法来完成这项任务?
我们可以像 link 中提到的那样一起使用 dict() 和 zip() 。下面的代码仍然使用循环来遍历列表。
header = ['EXPERIMENT_ID', 'SESSION_ID', 'TRIAL_END', 'TRIAL_START']
data = ([(1, 1, 85.3543804, 74.7716105),
(1, 1, 95.3867684, 85.3710747),
(1, 1, 105.4189535, 95.4033732)])
out = []
for d in data:
out.append(dict(zip(header,d)))
print(out)
[{'EXPERIMENT_ID': 1, 'SESSION_ID': 1, 'TRIAL_END': 85.3543804, 'TRIAL_START': 74.7716105}, {'EXPERIMENT_ID': 1, 'SESSION_ID': 1, 'TRIAL_END': 95.3867684, 'TRIAL_START': 85.3710747}, {'EXPERIMENT_ID': 1, 'SESSION_ID': 1, 'TRIAL_END': 105.4189535, 'TRIAL_START': 95.4033732}]