我正在处理pandas和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'),,....
)我想过按照逗号的数量来计算每个逗号和文案标题,但我想应该有更简单的方法来做到这一点,我甚至不知道该怎么做。
发布于 2020-05-18 11:50:24
如果我正确理解了最终目标,您应该使用','作为分隔符,使用split()来拆分codes字符串。这将生成一个列表,然后您可以遍历该列表以创建一个新的列表/元组。
这是一个我认为可以实现你想要的东西的代码片段:
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'))希望这能有所帮助。
https://stackoverflow.com/questions/61861814
复制相似问题