【问题标题】:How to extract all non-nan values in this dataframe by the non-nan values count of each row如何通过每行的非nan值计数提取此数据框中的所有非nan值
【发布时间】:2019-05-31 21:20:28
【问题描述】:

我想提取每行数据帧中的非 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

有什么可以帮助我的吗?
提前致谢。

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    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
    

    【讨论】:

      猜你喜欢
      • 2013-04-07
      • 2015-03-13
      • 2016-04-09
      • 2021-12-13
      • 1970-01-01
      • 2018-04-06
      • 1970-01-01
      • 2016-07-22
      • 2022-12-17
      相关资源
      最近更新 更多