给出以下数组:
fields1 = [ 'A1', 'B1', 'C1']
fields2 = [ 'A2', 'B2', 'C2']
array = [fields1, fields2, ...., fieldsN]
我需要以编程方式将数据重新组织到以下对象中:
the_fields = {
'column1' : ['A1', 'A2'],
'column2' : ['B1', 'B2'],
'column3' : ['C1', 'C2']}
如何实现这一目标?
答案 0 :(得分:5)
选项1
zip
在词典理解中使用zip
ped pack。
fields = [fields1, fields2, ...., fieldsN]
{'column{}'.format(i) : list(v) for i, v in enumerate(zip(*fields), 1)}
{
'column1' : ['A1', 'A2'],
'column2' : ['B1', 'B2'],
'column3' : ['C1', 'C2']
}
选项2
pd.DataFrame.to_dict
此选项使用pandas API
import pandas as pd
pd.DataFrame(fields).rename(
columns=lambda x: 'column{}'.format(x + 1)
).to_dict(orient='list')
{
'column1' : ['A1', 'A2'],
'column2' : ['B1', 'B2'],
'column3' : ['C1', 'C2']
}