【问题标题】:Deleting NaN values in list in python在python中删除列表中的NaN值
【发布时间】:2022-01-20 01:09:28
【问题描述】:
num_A=414
for i in range(1,num_A):
 
    interval = data_A.index[data_A['level'] == i]
    datum = data_A.loc[interval] 
    hyumgi_time=np.max(datum.hyumgi)
    print(hyumgi_time)

当我运行上面的代码时,hyumgi_time 给出了一些 nan 值。 我认为hyumgi_time 是一个列表。我想将每个 nan 值设为 0。 我认为这是一个列表,而不是数据框。所以,我想知道如何将nan 值设置为 0 的列表。

【问题讨论】:

  • 这能回答你的问题吗? convert nan value to zero
  • 为什么你认为它是一个列表?为什么你在猜测,为什么不检查type(hyumgi_time)
  • data_A 是一个数据框,hyumgidata_A 的列名。但是,hyumgi_time 不是数据框。那么我可以像数据框一样做吗?
  • 我打印了print(type(hyumgi_time)),它打印出了一系列<class 'float'>

标签: python list nan


【解决方案1】:

看看这个sn-p:

df['Set_of_Numbers'] = df['Set_of_Numbers'].fillna(0)

更多信息 - https://www.geeksforgeeks.org/replace-nan-values-with-zeros-in-pandas-dataframe/

【讨论】:

    【解决方案2】:

    有趣的事实:NaN 是唯一不等于自身的值。这意味着你可以做到这一点。

    no_nan = [x if x==x else 0 for x in hyumgi_time]
    

    【讨论】:

      【解决方案3】:

      如果是列表的基本方法:

      itr = 0
      while np.NaN in hyumgi_time:
          if hyumgi_time[itr] == NaN:
              hyumgi_time[itr] = 0
      

      【讨论】:

        【解决方案4】:

        我认为你可以使用列表推导。

        none_converted = [x if x!=None else 0 for x in a]
        

        看看here

        【讨论】:

          猜你喜欢
          • 2017-06-21
          • 2021-12-22
          • 1970-01-01
          • 1970-01-01
          • 2020-09-23
          • 2020-09-18
          • 2018-09-23
          • 2018-05-01
          • 2014-01-27
          相关资源
          最近更新 更多