鱿鱼西 2022-03-07 07:56 采纳率: 85.2%
浏览 54
已结题

现在有adcd这四列,我想增加一列e,具体如下

问题相关代码
import pandas as pd
 
data_list1 = [
      ['1', '1', '1', "{'a': '124','b': '125','c': '823', 'ProcessInfo0': 'abcd', 'd0': '123', 'e0': '123', 'ProcessInfo1': 'cdef', 'd1': '123', 'e1': '123', 'ProcessInfo2': 'fghf', 'd2': '123', 'e2': '123'}"]
    , ['2', '2', '2', "{'a': '153','b': '127','c': '193', 'ProcessInfo0': 'abyd', 'd0': '123', 'e0': '123', 'ProcessInfo1': 'cdse', 'd1': '123', 'e1': '123', 'ProcessInfo2': 'fghh', 'd2': '123', 'e2': '123'}"]
    , ['3', '3', '3', "{'a': '193','b': '223','c': '124', 'ProcessInfo0': 'atbc', 'd0': '123', 'e0': '123', 'ProcessInfo1': 'cdue', 'd1': '123', 'e1': '123', 'ProcessInfo2': 'fgih', 'd2': '123', 'e2': '123'}"]
    , ['4', '4', '4', "{'a': '124','b': '323','c': '153', 'ProcessInfo0': 'a1bc', 'd0': '123', 'e0': '123', 'ProcessInfo1': 'cdbe', 'd1': '123', 'e1': '123', 'ProcessInfo2': 'fgkh', 'd2': '123', 'e2': '123'}"]
    , ['5', '5', '5', "{'a': '123','b': '125','c': '623', 'ProcessInfo0': 'ablc', 'd0': '123', 'e0': '123', 'ProcessInfo1': 'cnde', 'd1': '123', 'e1': '123', 'ProcessInfo2': 'fgmh', 'd2': '123', 'e2': '123'}"]]
data_list = []
for item in data_list1:
    for k,v in eval(item[3]).items():
        if k.find("ProcessInfo")>=0:
            data_list.append([item[0],item[1],item[2],"{}:{}".format(k,v)])
 
df = pd.DataFrame(data_list)
df.columns = ['a', 'b', 'c', 'd']
print(df)
运行结果
     a  b  c             d
0   1  1  1  ProcessInfo0:abcd
1   1  1  1  ProcessInfo1:cdef
2   1  1  1  ProcessInfo2:fghf
3   2  2  2  ProcessInfo0:abyd
4   2  2  2  ProcessInfo1:cdse
5   2  2  2  ProcessInfo2:fghh
6   3  3  3  ProcessInfo0:atbc
7   3  3  3  ProcessInfo1:cdue
8   3  3  3  ProcessInfo2:fgih
9   4  4  4  ProcessInfo0:a1bc
10  4  4  4  ProcessInfo1:cdbe
11  4  4  4  ProcessInfo2:fgkh
12  5  5  5  ProcessInfo0:ablc
13  5  5  5  ProcessInfo1:cnde
14  5  5  5  ProcessInfo2:fgmh
我想要达到的结果

增加一列e列,数据是:

abcde
111ProcessInfo0:abcd'a': '124','b': '125','c': '823','d0': '123', 'e0': '123'
111ProcessInfo1:cdef'a': '124','b': '125','c': '823','d1': '123', 'e1': '123'
111ProcessInfo2:fghf'a': '124','b': '125','c': '823','d2': '123', 'e2': '123'
省略

也就是processinfo0对应'd0':' ','e0':' '
processinfo1对应'd1':' ','e1':' '
processinfo2对应'd2':' ','e2':' '

展开全部

  • 写回答

1条回答 默认 最新

  • 陈年椰子 2022-03-07 08:04
    关注

    没看明白 , 你贴的数据, 和你最后说的对应数, 没啥关系呀。
    搞个表格展示一下比较清晰

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    鱿鱼西 2022-03-07 08:19

    写错了,改了一下

    回复
    陈年椰子 回复 鱿鱼西 2022-03-07 08:25

    那就是 a b c 都保留 , 只对d0 , e0 之类分别处理,对吧?

    回复
    鱿鱼西 回复 陈年椰子 2022-03-07 08:25

    是的

    回复
    展开全部10条评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月15日
  • 已采纳回答 3月8日
  • 修改了问题 3月7日
  • 修改了问题 3月7日
  • 展开全部
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部