import pandas as pd
xls_dict = xls_data.to_dict('records')
print(xls_dict)
然后,您可以使用下面的代码生成所需的输出
output_dict = dict()
for xls_dat in xls_dict:
key_list = list()
if 'N' in xls_dat:
if xls_dat.get('Company') in output_dict:
lis = output_dict.get(xls_dat.get('Company'))
lis2 = [int(i) for i in xls_dat.get('N').split(';')]
output_dict[xls_dat.get('Company')] = lis + lis2
else:
key_list = [int(i) for i in xls_dat.get('N').split(';')]
output_dict[xls_dat.get('Company')] = key_list
import itertools
(df.groupby('Company').apply(lambda x:
list(map(int,[k[:2] for k in itertools.chain.from_iterable(x['N'].str.split(';'))]))).to_dict())
您可以读取xlsx文件,并使用以下代码将数据帧转换为字典
然后,您可以使用下面的代码生成所需的输出
输出:
groupby和split,然后应用list并转到dict,如:
您也可以使用sum来合并列表,但不推荐用于大数据(它有性能问题,最好使用itertools)
编辑要从列表中切片2个元素,请使用:
这将输出:
注意
map()
的用法这里,它用于将列表元素从string转换为int。由于原始数据类型是string,我们执行str.split()
,因此列表具有字符串。相关问题 更多 >
编程相关推荐