1

该数据帧由许多 NAN 值组成,在后面的列中,数据是稀疏的。但我希望将所有内容放在一个列中。

在此处输入图像描述

像这样,

Index    Seatblock 
1        A.B.C.D
2        A.B.C.D
3        A.B.C.D
4        A.B.C.D
5        A.B.C.D

  1. 删除所有 NAN 值。我试过dropna了,但它基本上删除了列,这也使我的稀疏数据消失了。
  2. 使用 list 或任何 python 内置函数将它们转换为单列,但我完全找不到。

会有帮助的。谢谢!

数据在这里

编辑:这是应用建议代码后的输出。 在此处输入图像描述

编辑:

例如

Index Seatblock1 Seatblock2 Seatblock3
1       a.b.c.d    NAN         NAN
2       w.r.t.q    q.r.y.t     NAN
3       p.y.u.i    NAN         n.b.x.a

输出必须是:


Index Seatblock1  
1       a.b.c.d             
2       w.r.t.q    
3       p.y.u.i        
4       q.r.y.t
5       n.b.x.a

像这样

4

1 回答 1

2

这是一个例子

数据文件:

Index,Seatblock1,Seatblock2,Seatblock3
1,a.b.c.d,,
2,w.r.t.q,q.r.y.t,
3,p.y.u.i,,n.b.x.a

加载df:

df = pd.read_csv('df1.csv')

在此处输入图像描述

融化掉na

df.melt(id_vars=['Index']).value.dropna() 

输出:

0    a.b.c.d
1    w.r.t.q
2    p.y.u.i
4    q.r.y.t
8    n.b.x.a
Name: value, dtype: object
于 2021-07-07T03:30:38.573 回答