pandas中to_dict()方法的一点认识

pandas的版本为:0.25.1

一、问题:

如何将表格中的数据转换成字典格式,如:{a:11,b:22,....}?

解决办法有很多种,比如

可以用字典推导式:

df = pd.DataFrame(data=[11,22,33,44], index=['a','b','c','d']).rename(columns={0:'code'})`# 利用itertuples()转成字典格式{i:v for i,v in df.itertuples()}

也可以利用pandas中to_dict()进行转换:

df.T.to_dict('r')[0]

或者

df.code.to_dict()

用两种方法转换起来都不难,但是如何将下图转换成

{a:{'1':41, '2':98,'3':53},'b':{'1':15,'2':64,'3':36}}       

二、to_dict()介绍

在解决问题之前,先介绍一下pandas中的to_dict()函数,to_dict()函数有两种用法,pd.DataFrame.todict()和pd.Series.to_dict(),其中Series.to_dict()较简单

Series.to_dict(): 将Series转换成{index:value}

具体用法,可参考文章开头部分的:df.code.to_dict()

DataFrame.to_dict(orient='dict',into=')

orient: 'dict','list','series','split','records','index'

'dict':  {column->{index->values}}

                                {c1:{r0:11, r1:44, r2:77},  c2:{r0:22, r1:55, r2:88}}

'list': {column:[values]}

                                          {c1:[11, 44,77], c2:[22, 55, 88]}

'series':{column->series}

{c1: series, c2:series}

'split':{index->[index], column->[column], value->[value]}

            {index:[r0, r1, r2], column:[c1, c2], value:[11, 22, 44, 55, 77, 88]}

'record':[{column->value}] ,返回的为列表

                                [{c1:11,c2:22},{c1:44, c2:55},{c1:77, c2:88}]

'index':{index->{column->value}}  ,与"dict"类似,只不过index与column互换位置

                                {r0:{c1:11,c2:22},r1:{c1:44,c:55},r2:{c1:77,c2:88}}

三、代码

to_dict()函数介绍完了,那该如何利用to_dict()解决文章开头提到的那个问题?

完整代码:

new_df = df.set_index(['code', 'date']).unstack(level=0).droplevel(level=0, axis=1).to_dict()



欢迎批评指正

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,904评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,581评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,527评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,463评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,546评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,572评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,582评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,330评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,776评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,087评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,257评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,923评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,571评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,192评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,436评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,145评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,451评论 0 13
  • 电信的网速使用apt-get都会ping不上,索性更改国内源 打开apt的文件夹 ```shell cd /etc...
    d22ec11ce43f阅读 909评论 0 0
  • 金莲负责做炊饼 武大负责卖 小两口恩恩爱爱 日子过得好不红火 有一天,外面下白了雪 武大依旧挑着扁担出去 回来的时...
    吻章阅读 135评论 0 0
  • 此心拖泥带水,是人生最苦处。——明·吕坤 《呻吟语》 今日上课给学生们用雨课堂签到,学生们很兴奋。大一的学生和中学...
    walterblack阅读 89评论 0 1
  • 来源:白杨师姐写作陪伴营 三月,从北京回来,我在本子的扉页写下了这样一句话——本次课程我想明白了一个道理,人生需要...
    娜一缕阳光阅读 300评论 0 0