首页 > 解决方案 > 如何取消嵌套熊猫中一列的“字典式”值?

问题描述

因此,在运行从网站收集数据的脚本后,我最终得到了一个与下面的完全一样的 pandas 数据框:

ID 日期 列表
1 2021-05-01 {'日期':'2021-05-01','data_usage':'200mb','device_name':'iphone'}
1 2021-05-02 {'date':'2021-05-02','data_usage':'900mb','device_name':'iphone'}
3 2021-05-01 {'日期':'2021-05-01','data_usage':'1gb','device_name':'android'}
3 2021-05-02 {'date':'2021-05-02','data_usage':'2gb','device_name':'android'}

但是,我需要取消嵌套 'list' 列,因此 'data_usage' 和 'device_name' 都将成为列。我怎样才能做到这一点?顺便说一下,此列上没有“null”或空值。

谢谢!

标签: pythonpandasdataframe

解决方案


对于一条线...

尝试:

pd.concat([df.drop(['list', 'date'], axis=1), df['list'].map(eval).apply(pd.Series)], axis=1)

输出:

    id  date        data_usage   device_name
0   1   2021-05-01  200mb        iphone
1   1   2021-05-02  900mb        iphone
2   3   2021-05-01  1gb          android
3   3   2021-05-02  2gb          android

推荐阅读