首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >列出与字典类型类似的重塑

列出与字典类型类似的重塑
EN

Stack Overflow用户
提问于 2020-05-18 11:07:55
回答 1查看 54关注 0票数 0

我正在处理pandas和numpy的专利数据。我已经完成的步骤和从原始数据中获得的数据如下所示。

代码

代码语言:javascript
运行
复制
title = df['title'].tolist()
cpc = df_cpu['cpc'].tolist() 
z = zip(title, cpc)

结果

代码语言:javascript
运行
复制
 ('(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代码”,定义了专利所属的子技术。在这种情况下,我想拆分(或者我应该说重塑)我在下面写的数据。我猜这不仅仅是拆分数据,而是根据特定的规则进行重塑。

代码语言:javascript
运行
复制
('(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'),,....
)

我想过按照逗号的数量来计算每个逗号和文案标题,但我想应该有更简单的方法来做到这一点,我甚至不知道该怎么做。

EN

回答 1

Stack Overflow用户

发布于 2020-05-18 11:50:24

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

这是一个我认为可以实现你想要的东西的代码片段:

代码语言:javascript
运行
复制
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))

这是打印出来的:

代码语言:javascript
运行
复制
(('(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'))

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61861814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档