Python 将列合并到数据框中的一列和新行中
我有一个这样的数据帧Python 将列合并到数据框中的一列和新行中,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个这样的数据帧 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
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
你可以试试这个
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
顺序重要吗?不重要,但只是列的一致性,即{[a,NAN],[c,x],…..等等。}顺序重要吗?不重要,只是列的一致性,即{[a,NAN],[c,x],…..等等。}