繁体   English   中英

在数据框熊猫中将列合并为一列和新行

[英]Merge columns to one columns and new rows in dataframe pandas

我有一个这样的数据框

col1   0    1   2   3   4   5   6   7   8   9   10  11
 a     NaN  NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
 b     NaN  NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
 c     x    y   NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
 a     k    NaN NaN z   NaN NaN NaN NaN NaN NaN NaN NaN
 h     NaN  x   NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

我想将其更改为:

col1   col2
 a     NaN
 b     NaN
 c     x   
 c     y
 a     k
 a     z
 h     x

有什么帮助吗?

你可以试试这个

df=df.set_index('col1')
df.loc[df.isnull().sum(1)==df.shape[1],0]='NaN'
df.stack().reset_index(level=1,drop=True).replace('NaN',np.nan).to_frame('col2').reset_index()
Out[544]: 
  col1 col2
0    a  NaN
1    b  NaN
2    c    x
3    c    y
4    a    k
5    a    z
6    h    x

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM