col1= ['A','B','A','C','A','B','A','C','A','C','A','A','A'] col2= [1,1,4,2,4,5,6,3,1,5,2,1,1]
df = pd.DataFrame({'col1':col1, 'col2':col2})
对于A,我们有[1,4,4,6,1,2,1,1],8个条目,但是我想在将数据帧转换为dict/list时将大小限制为5
使用pandas.DataFrame.groupby的apply:
df.groupby('col1')['col2'].apply(lambda x:list(x.head(5))).to_dict()
输出:
{'A': [1, 4, 4, 6, 1], 'B': [1, 5], 'C': [2, 3, 5]}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。