根据列中的值创建列表

energyMax

我有一个有趣的案例。在列中,FID2我有一些值,基于这些值我想创建一个列表。该列Ncircles确定列表。例如:

  • 如果有一个值0Ncircles,我想创建基于价值的清单FID2的同一行中[i],在这里i等于FID2
  • 如果有一个值1Ncircles,我想创建基于价值的清单FID2的同一行中[i-1, i, i +1],在这里i等于FID2
  • 如果有一个值3Ncircles,我想创建基于价值的清单FID2的同一行中[i-3, i-2, i -1 i, i+1, i+2, i +3],在这里i等于FID2

这是df的示例:

          FID2  Ncircles
0        50141         0
1        56188         1
2        75035         0
3        94937         3

最终列表可以全部写在一个列表中。您对此有什么建议吗?

预期的输出将是一个新列表:

Newlist = [50141, 56187, 56188, 56188, 75035, 94934, 94935, 94936, 94937, 94938, 94939, 94940]
耶斯列尔

用于range列表理解和展平:

Newlist = [c for a, b in zip(df['FID2'], df['Ncircles']) for c in range(a-b, a+b+1)]
print (Newlist)
[50141, 56187, 56188, 56189, 75035, 94934, 94935, 94936, 94937, 94938, 94939, 94940]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章