为循环运行时,无法从重复轴重新编制索引

2024-05-29 10:49:01 发布

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

我创建了一个从列中提取数字模式的函数,然后创建了一个for循环来迭代我想要应用该函数的每一列

但是,每当我运行for循环并尝试将输出分配给新列时,就会收到以下错误消息:

ValueError: cannot reindex from a duplicate axis

这是我写的代码:

#listvar creates a list of column names from 1 to 85
def split_time(col):
    return df_split[col].str.extract('(\d*\:\d+)',expand=True)
time_list = list_var('metadata')
merged = merged.reset_index()
for i in time_list:
    merged['fighttime'+str(i)] = split_time(i)

以下是我的数据示例:

{'metadata1': {0: ':"  time: 2:27\\n | <span>referee:</span> <a href=\\"/en/referee/403355\\">Dan Stell</a><span> | </span><a href=\\"/en/judge/402102\\">Michael Tate</a> | <a href=\\"/en/judge/409434\\">Susan Thomas Gitlin</a> | <a href=\\"/en/judge/401871\\">Marshall Walker</a>\\n<br>" ',
  1: ':"  time: 0:40\\n" ',
  2: ':"  time: 1:09\\n | <span>referee:</span> <a href=\\"/en/referee/642941\\">Tom Johnson</a><span> | </span><a href=\\"/en/judge/773104\\">Hale Hilsabeck</a> | <a href=\\"/en/judge/402164\\">Tyrone Short</a> | <a href=\\"/en/judge/401480\\">Curtis Thrasher</a>\\n<br>Pro debut for Love.\\n<br>" ',
  3: ':"<span>referee:</span> <a href=\\"/en/referee/677683\\">Horlan Hamilton</a><span> | </span><a href=\\"/en/judge/404834\\">Cesar Berrios</a> 38-38 | <a href=\\"/en/judge/610031\\">Hiram Muniz Jr</a> 37-39 | <a href=\\"/en/judge/409806\\">Augusto Rojas</a> 38-38\\n<br>" '},
 'metadata2': {0: ':"  time: 2:15\\n | <span>referee:</span> <a href=\\"/en/referee/409423\\">Edward Collantes</a><span> | </span><a href=\\"/en/judge/403927\\">Rey Danseco</a> | <a href=\\"/en/judge/409434\\">Susan Thomas Gitlin</a> | <a href=\\"/en/judge/401871\\">Marshall Walker</a>\\n<br>" ',
  1: ':"<a href=\\"/en/judge/38527\\">Mike Fitzgerald</a> | <a href=\\"/en/judge/402306\\">John Mariano</a> | <a href=\\"/en/judge/463588\\">Patrick Morley</a>\\n<br>" ',
  2: ':"<span>referee:</span> <a href=\\"/en/referee/401480\\">Curtis Thrasher</a><span> | </span><a href=\\"/en/judge/401580\\">Ed Kugler</a> | <a href=\\"/en/judge/401681\\">Josef Mason</a> | <a href=\\"/en/judge/402164\\">Tyrone Short</a>\\n<br>" ',
  3: ':"<span>referee:</span> <a href=\\"/en/referee/677683\\">Horlan Hamilton</a><span> | </span><a href=\\"/en/judge/459315\\">Marcos Francis</a> 37-37 | <a href=\\"/en/judge/410741\\">Armando Garcia</a> 38-36 | <a href=\\"/en/judge/610031\\">Hiram Muniz Jr</a> 38-36\\n<br>" '},
 'metadata3': {0: ':"  time: 2:59\\n | <span>referee:</span> <a href=\\"/en/referee/403355\\">Dan Stell</a><span> | </span><a href=\\"/en/judge/403927\\">Rey Danseco</a> | <a href=\\"/en/judge/409434\\">Susan Thomas Gitlin</a> | <a href=\\"/en/judge/401871\\">Marshall Walker</a>\\n<br>" ',
  1: ':null ',
  2: ':"  time: 1:50\\n | <span>referee:</span> <a href=\\"/en/referee/401579\\">Stephen Blea</a><span> | </span><a href=\\"/en/judge/733982\\">Carmen Beall</a> | <a href=\\"/en/judge/401681\\">Josef Mason</a> | <a href=\\"/en/judge/402164\\">Tyrone Short</a>\\n<br>Pro debut for Ruiz.\\n<br>" ',
  3: ':"<span>referee:</span> <a href=\\"/en/referee/403024\\">Alberto Mendez</a><span> | </span><a href=\\"/en/judge/404834\\">Cesar Berrios</a> 40-36 | <a href=\\"/en/judge/403547\\">Silvio Ortiz</a> 40-36 | <a href=\\"/en/judge/409806\\">Augusto Rojas</a> 40-36\\n<br>" '},
 'metadata4': {0: ':"<span>referee:</span> <a href=\\"/en/referee/403355\\">Dan Stell</a><span> | </span><a href=\\"/en/judge/403837\\">Kermit Bayless</a> | <a href=\\"/en/judge/403835\\">Steve Morrow</a> | <a href=\\"/en/judge/401871\\">Marshall Walker</a>\\n<br>" ',
  1: ':"  time: 2:14\\n" ',
  2: nan,
  3: ':null '},
 'metadata5': {0: ':"<span>referee:</span> <a href=\\"/en/referee/409423\\">Edward Collantes</a><span> | </span><a href=\\"/en/judge/403837\\">Kermit Bayless</a> 40-36 | <a href=\\"/en/judge/403835\\">Steve Morrow</a> 40-36 | <a href=\\"/en/judge/401871\\">Marshall Walker</a> 39-37\\n<br>" ',
  1: ':"<span>referee:</span> <a href=\\"/en/referee/409943\\">Jeff Nass</a><span> | </span><a href=\\"/en/judge/797957\\">Ron Duncan</a> | <a href=\\"/en/judge/38527\\">Mike Fitzgerald</a> | <a href=\\"/en/judge/401479\\">Woody Kislowski</a>\\n<br>" ',
  2: nan,
  3: ':"  time: 1:26\\n | <span>referee:</span> <a href=\\"/en/referee/475248\\">Ramon Gonzalez</a><span> | </span><a href=\\"/en/judge/404834\\">Cesar Berrios</a> | <a href=\\"/en/judge/410741\\">Armando Garcia</a> | <a href=\\"/en/judge/409806\\">Augusto Rojas</a>\\n<br>Gutierrez knocked down in round 2\\n<br>" '},
 'metadata6': {0: nan,
  1: nan,
  2: nan,
  3: ':"  time: 0:27\\n | <span>referee:</span> <a href=\\"/en/referee/403024\\">Alberto Mendez</a><span> | </span><a href=\\"/en/judge/404834\\">Cesar Berrios</a> | <a href=\\"/en/judge/410740\\">Manuel Gonzalez Martinez</a> | <a href=\\"/en/judge/818902\\">Keneth Muniz</a>\\n<br>Centeno was knocked down in the 3rd round.\\n<br>" '},
 'metadata7': {0: nan,
  1: nan,
  2: nan,
  3: ':"<span>referee:</span> <a href=\\"/en/referee/466\\">James Warring</a><span> | </span><a href=\\"/en/judge/639700\\">Fernando Barbosa</a> 55-59 | <a href=\\"/en/judge/411170\\">Gloria Martinez</a> 59-55 | <a href=\\"/en/judge/401307\\">John Rupert</a> 55-59\\n<br>" '},
 'metadata8': {0: nan,
  1: nan,
  2: nan,
  3: ':"<span>referee:</span> <a href=\\"/en/referee/401849\\">Keith Hughes</a><span> | </span><a href=\\"/en/judge/499719\\">Elmo Boudreaux</a> 37-39 | <a href=\\"/en/judge/629084\\">Neil Ledet</a> 39-37 | <a href=\\"/en/judge/402368\\">Keith Thibodeaux</a> 39-37\\n<br>" '},
 'metadata9': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata10': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata11': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata12': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata13': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata14': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata15': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata16': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata17': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata18': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata19': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata20': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata21': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata22': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata23': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata24': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata25': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata26': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata27': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata28': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata29': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata30': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata31': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata32': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata33': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata34': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata35': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata36': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata37': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata38': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata39': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata40': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata41': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata42': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata43': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata44': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata45': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata46': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata47': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata48': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata49': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata50': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata51': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata52': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata53': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata54': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata55': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata56': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata57': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata58': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata59': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata60': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata61': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata62': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata63': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata64': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata65': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata66': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata67': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata68': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata69': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata70': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata71': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata72': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata73': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata74': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata75': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata76': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata77': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata78': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata79': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata80': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata81': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata82': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata83': {0: nan, 1: nan, 2: nan, 3: nan},
 'metadata84': {0: nan, 1: nan, 2: nan, 3: nan}}

我也尝试过这一点,但没有任何效果:

time_list = list_var('metadata')
merged[time_list].apply(lambda x: x.str.extract('(\d*\:\d+)'))

这将返回错误:

ValueError: If using all scalar values, you must pass an index

Tags: brfortimemergednanlistenhref

热门问题