列表重塑为类似于字典类型

2024-10-01 17:24:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在处理熊猫和numpy的专利数据。 下面是我所做的步骤和从原始数据中获得的数据

代码

title = df['title'].tolist()
cpc = df_cpu['cpc'].tolist() 
z = zip(title, cpc)

结果

 ('(real-time information transmission system)',
  'A61B-0005/0002, A61B-0005/0001, A61B-0005/0021'),
 ('(skincare counselling system)',
  'G06Q-0050/0010'),
 ('(apparatus for monitoring posture)',
  'A61B-0005/1116, A61B-0005/0002'),,....
)

它基本上是一个带有“专利名称”的列表(或元组),它自己的“cpc代码”定义了专利所属的子技术。 在这种情况下,我想分割(或者说重塑)我在下面写的数据。 我想这不仅仅是分割数据,而是用特定的规则重塑

('(real-time information transmission system)',
  'A61B-0005/0002'),
 '(real-time information transmission system)',
  'A61B-0005/0001')
 '(real-time information transmission system)',
  'A61B-0005/0021')
 ('(skincare counselling system)',
  'G06Q-0050/0010'),
 ('(apparatus for monitoring posture)',
  'A61B-0005/1116')
 ('(apparatus for monitoring posture)',
  'A61B-0005/0002'),,....
)

我想用逗号的数量来计算每个逗号和复制标题,但我想应该有更简单的方法来做,我甚至不知道如何处理我的想法


Tags: 数据代码forinformationtimetitlesystemreal
1条回答
网友
1楼 · 发布于 2024-10-01 17:24:53

如果我正确理解了最终目标,您希望使用split()分割cpc代码字符串,使用','作为分隔符。这将生成一个列表,然后您可以遍历该列表来创建一个新的列表/元组

以下是一个片段,我认为它满足了您的需求:

from pprint import pprint

z = (('(real-time information transmission system)', 'A61B-0005/0002, A61B-0005/0001, A61B-0005/0021'),
     ('(skincare counselling system)', 'G06Q-0050/0010'),
     ('(apparatus for monitoring posture)', 'A61B-0005/1116, A61B-0005/0002'))

new_z = []
for title, cpc_codes_str in z:
     cpc_codes = cpc_codes_str.split(',')
     for code in cpc_codes:
          new_z.append((title, code))

pprint(tuple(new_z))

这就是印刷品:

(('(real-time information transmission system)', 'A61B-0005/0002'),
 ('(real-time information transmission system)', ' A61B-0005/0001'),
 ('(real-time information transmission system)', ' A61B-0005/0021'),
 ('(skincare counselling system)', 'G06Q-0050/0010'),
 ('(apparatus for monitoring posture)', 'A61B-0005/1116'),
 ('(apparatus for monitoring posture)', ' A61B-0005/0002'))

希望这有帮助

相关问题 更多 >

    热门问题