Python 从现有数据帧列创建新数据帧(如果不为空)
我有一个数据框,其中的列包含某些行的数据,而不包含其他行的数据。我需要将几列合并成一列,删除丢失的数据。例如:Python 从现有数据帧列创建新数据帧(如果不为空),python,pandas,Python,Pandas,我有一个数据框,其中的列包含某些行的数据,而不包含其他行的数据。我需要将几列合并成一列,删除丢失的数据。例如: Name Preference_1 Preference_2 Preference_3 Preference_4 0 Dave Beach Lake Mountain Desert 1 Jeff Outdoors NaN NaN NaN 2 Tom
Name Preference_1 Preference_2 Preference_3 Preference_4
0 Dave Beach Lake Mountain Desert
1 Jeff Outdoors NaN NaN NaN
2 Tom Forest Ocean Swamp NaN
需要做到这一点:
Name Preference
0 Dave Beach
1 Dave Lake
2 Dave Mountain
3 Dave Desert
4 Jeff Outdoors
5 Tom Ocean
6 Tom Swamp
7 Tom Forest
使用:
或与:
输出
Name Preference
0 Dave Beach
1 Dave Lake
2 Dave Mountain
3 Dave Desert
4 Jeff Outdoors
5 Tom Forest
6 Tom Ocean
7 Tom Swamp
为什么
海洋
,沼泽
在输出中从汤姆
移动到杰夫
?你想要@AndyL。你说得对那是个打字错误谢谢你非常感谢
df.set_index('Name').stack().rename('Preference').reset_index(level=['Name',0],drop=0)
Name Preference
0 Dave Beach
1 Dave Lake
2 Dave Mountain
3 Dave Desert
4 Jeff Outdoors
5 Tom Forest
6 Tom Ocean
7 Tom Swamp