Python 如何熔化数据帧--在熔化数据帧字段中获取列名
我有一个df如下Python 如何熔化数据帧--在熔化数据帧字段中获取列名,python,dataframe,melt,Python,Dataframe,Melt,我有一个df如下 name 0 1 2 3 4 0 alex NaN NaN aa bb NaN 1 mike NaN rr NaN NaN NaN 2 rachel ss NaN NaN NaN ff 3 john NaN ff NaN NaN NaN 熔化功能应返回以下值 name code 0 alex 2
name 0 1 2 3 4
0 alex NaN NaN aa bb NaN
1 mike NaN rr NaN NaN NaN
2 rachel ss NaN NaN NaN ff
3 john NaN ff NaN NaN NaN
熔化功能应返回以下值
name code
0 alex 2
1 alex 3
2 mike 1
3 rachel 0
4 rachel 4
5 john 1
任何建议都是有益的。谢谢。这应该行得通
df.unstack().reset_index().dropna()
输出将是
name Code
alex 2
alex 3
john 1
mike 1
rachel 0
rachel 4
只需执行以下步骤:melt、dropna、排序列名、重置索引,最后删除任何不需要的列
In [1171]: df.melt(['name'],var_name='code').dropna().sort_values('name').reset_index().drop(['index', 'value'], 1)
Out[1171]:
name code
0 alex 2
1 alex 3
2 john 1
3 mike 1
4 rachel 0
5 rachel 4
In [1171]: df.melt(['name'],var_name='code').dropna().sort_values('name').reset_index().drop(['index', 'value'], 1)
Out[1171]:
name code
0 alex 2
1 alex 3
2 john 1
3 mike 1
4 rachel 0
5 rachel 4