我想提取数据帧每一行中的非Nan值。
我得到一个行数大于3000的数据框,如下所示:
# this is just an example, not whole data
l1 l2 l3
0 2 nan nan
1 1 nan nan
2 3 4 nan
3 1 2 4
4 3 2 nan
5 4 1 2
6 5 nan nan
我想通过每一行的非NAN值计数来提取此数据框中的所有非NAN值,如下所示
one_non_nan_value_counts
l1
0 2
1 1
2 5
two_non_nan_value_counts
l1 l2
0 3 4
1 3 2
three_non_nan_value_counts
l1 l2 l3
0 1 2 4
1 4 1 2
能帮我吗?
预先感谢。
答案 0 :(得分:2)
IIUC:
for x,y in df.groupby(df.isna().sum(axis=1)):
print('nan', x)
print(y.dropna(axis=1))
输出:
nan 0
l1 l2 l3
3 1 2.0 4.0
5 4 1.0 2.0
nan 1
l1 l2
2 3 4.0
4 3 2.0
nan 2
l1
0 2
1 1
6 5