有点奇怪的问题。给出一个样本数据:
df =
1 1.1 2 2.1 3 3.1 4 4.1 5 5.1
11 22 33 44 55 66 77 88 99 12
12 13 14 15 Nan Nan Nan NaN NaN NaN
11 22 33 44 55 66 77 NaN NaN NaN
我想删除包含NaN
值的列。但有时我的NaN
从第三列开始,所以我不想删除它们。我想做一些近似或平均。我想检查NaN
之前的行的平均长度,然后删除其余的行。
示例:
因此,平均为7。因此,我的数据将是:
df =
1 1.1 2 2.1 3 3.1 4
11 22 33 44 55 66 77
12 13 14 15 Nan Nan Nan
11 22 33 44 55 66 77
也许你不能建议其他的数据准备方法
发布于 2019-10-05 14:54:54
如果NaN将始终是行中的最后一列(例如,您将没有第一列作为NaN,第二列为值,然后是NaN等),则可以执行以下操作:
df.iloc[:, :int(df.count(axis=1).mean())]
这会给你:
0 1 2 3 4 5 6
0 11 22 33 44 55.0 66.0 77.0
1 12 13 14 15 NaN NaN NaN
2 11 22 33 44 55.0 66.0 77.0
https://stackoverflow.com/questions/58249373
复制相似问题