我试图从列表中删除 'nan',但它拒绝去。我已经尝试过 np.nan 和 'nan'。
这是我的代码:
ztt = []
for i in z:
if i != 'nan':
ztt.append(i)
ztt
Run Code Online (Sandbox Code Playgroud)
或者:
ztt = []
for i in z:
if i != np.nan:
ztt.append(i)
ztt
Run Code Online (Sandbox Code Playgroud)
我仍然得到输出:
[[46.0, 34.0, 32.0, 40.0, 34.0, 29.0, 38.0, 39.0, 45.0, 32.0, 28.0, 43.0],
[32.0, 30.0, 67.0, 66.0, 28.0, 19.0, 39.0, 32.0, 51.0, 28.0, 20.0, 36.0],
[29.0, 24.0, 37.0, 31.0, 32.0, 34.0, 28.0, 31.0, 28.0, 33.0, 28.0, 39.0],
[27.0, 29.0, 35.0, nan, nan, nan, nan, nan, nan, nan, nan, nan]]
Run Code Online (Sandbox Code Playgroud)
有谁知道出了什么问题?
for i in z:
if not math.isnan(i):
ztt.append(i)
Run Code Online (Sandbox Code Playgroud)
ztt = []
for z_i in z:
row = []
for z_ij in z_i:
if math.isnan(z_ij):
row.append(z_ij)
# If you want to replace with, for example, 0:
# else:
# row.append(0)
ztt.append(row)
Run Code Online (Sandbox Code Playgroud)
或者,使用嵌套列表理解:
ztt = [[z_ij for z_ij in zi if math.isnan(z_ij)] for z_i in z]
Run Code Online (Sandbox Code Playgroud)
顺便说一句,如果你使用 NumPy,你可能可以这样做:
import numpy as np
ztt =[value[~np.isnan(value)] for value in z]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8755 次 |
最近记录: |