【问题标题】:How to calculate the interval betwwen 2 elements in Python如何在Python中计算2个元素之间的间隔
【发布时间】:2018-10-01 22:26:29
【问题描述】:

在 Python 中,我有一个如下所示的列表:

[nan, nan, 0, 0, nan, 0, 0, nan, 0, nan, 0, nan, nan, nan]

我想计算0s之间的间隔,或者我想把它变成如下:

[nan, nan, 0, 0, 1, 0, 0, 1, 0, 1, 0, nan, nan, nan]

平均间隔为 1。 有没有合适的方法来执行此操作?

【问题讨论】:

  • 你说要统计区间;如果你有[nan, 0, nan, nan, 0],会发生什么?应该是2 而不是1
  • 你在使用 numpy 吗? nan 是什么?
  • @Alex 几乎可以肯定是 numpy。
  • @roganjosh 会假设但 OP 有 list 标签
  • 欢迎来到 StackOverflow。请按照您创建此帐户时的建议阅读并遵循帮助文档中的发布指南。 On topichow to ask... the perfect question 在此处申请。 StackOverflow 不是设计、编码、研究或教程资源。但是,如果您遵循您在网上找到的任何资源,进行诚实的编码尝试并遇到问题,那么您将有一个很好的示例可以发布。

标签: python list


【解决方案1】:

这是一个快速脚本,希望能满足您的要求。

nan = "nan"
list = [nan, nan, 0, 0, nan, 0, 0, nan, 0, nan, 0, nan, nan, nan]
occurances = list.count(0)
counter = 0
after1 = False
newlist = []
for I in list:
    if I == 0:
        counter += 1

        after1 = True
    elif after1 == True and counter < occurances:
        I = 1
    else:
        after1 = False
    newlist.append(I)
print(newlist)

返回:

['nan', 'nan', 0, 0, 1, 0, 0, 1, 0, 1, 0, 'nan', 'nan', 'nan']

【讨论】:

    猜你喜欢
    • 2021-08-26
    • 1970-01-01
    • 2012-09-18
    • 2021-09-06
    • 1970-01-01
    • 2022-06-01
    • 2012-06-04
    • 1970-01-01
    相关资源
    最近更新 更多