鱿鱼西 2022-03-04 10:28 采纳率: 85.2%
浏览 23
已结题

如下图,我想把下面图中左边的数据转换为右边的数据

数据
abcd
111{'a':'123','ProcessInfo0': 'abcd', 'b':'123','c':'123','ProcessInfo1': 'cdef','d':'456','ProcessInfo2': 'fghf'}
222{'a':'123','ProcessInfo0': 'abyd', 'b':'123','c':'123','ProcessInfo1': 'cdse','d':'456','ProcessInfo2': 'fghh'}
333{'a':'123','ProcessInfo0': 'atbc', 'b':'123','c':'123','ProcessInfo1': 'cdue','d':'456','ProcessInfo2': 'fgih'}
444{'a':'123','ProcessInfo0': 'a1bc', 'b':'123','c':'123','ProcessInfo1': 'cdbe','d':'456','ProcessInfo2': 'fgkh'}
555{'a':'123','ProcessInfo0': 'ablc', 'b':'123','c':'123','ProcessInfo1': 'cnde','d':'456','ProcessInfo2': 'fgmh'}
abcd
111'ProcessInfo0': 'abcd'
111'ProcessInfo1': 'cdef'
111'ProcessInfo2': 'fghf'
222'ProcessInfo0': 'abyd'
222'ProcessInfo1': 'cdse'
222'ProcessInfo2': 'fghh'
333'ProcessInfo0': 'atbc'
333'ProcessInfo1': 'cdue'
333'ProcessInfo2': 'fgih'
444'ProcessInfo0': 'a1bc'
444'ProcessInfo1': 'cdbe'
444'ProcessInfo2': 'fgkh'
555'ProcessInfo0': 'ablc'
555'ProcessInfo1': 'cnde'
555'ProcessInfo2': 'fgmh'
我想要达到的结果

img

  • 写回答

1条回答 默认 最新

  • 陈年椰子 2022-03-04 11:01
    关注

    不知道你的原始数据是什么格式。
    我写段按列表处理的代码给你参考。

    import pandas as pd
    data_list1 = [['1', '1', '1', {'a': '123', 'ProcessInfo0': 'abcd', 'b': '123', 'c': '123', 'ProcessInfo1': 'cdef', 'd': '456', 'ProcessInfo2': 'fghf'}]
        , ['2', '2', '2', {'a': '123', 'ProcessInfo0': 'abyd', 'b': '123', 'c': '123', 'ProcessInfo1': 'cdse', 'd': '456', 'ProcessInfo2': 'fghh'}]
        , ['3', '3', '3', {'a': '123', 'ProcessInfo0': 'atbc', 'b': '123', 'c': '123', 'ProcessInfo1': 'cdue', 'd': '456', 'ProcessInfo2': 'fgih'}]
        , ['4', '4', '4', {'a': '123', 'ProcessInfo0': 'a1bc', 'b': '123', 'c': '123', 'ProcessInfo1': 'cdbe', 'd': '456', 'ProcessInfo2': 'fgkh'}]
        , ['5', '5', '5', {'a': '123', 'ProcessInfo0': 'ablc', 'b': '123', 'c': '123', 'ProcessInfo1': 'cnde', 'd': '456', 'ProcessInfo2': 'fgmh'}]]
    
    data_list = []
    for item in data_list1:
        for k,v in 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)
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月12日
  • 已采纳回答 3月4日
  • 创建了问题 3月4日

悬赏问题

  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?