【发布时间】:2019-10-27 10:42:01
【问题描述】:
基本上我的问题是因此我有 5 列必须组合成第 6 列,该列排列所有数据(在本例中为 x)我想做的是将 Header 存储为某种变量读入类似于 .combine_first 的内容。我遇到的问题是 .combine 首先,以及我尝试使用的其他一些系列,只允许我一次组合一个东西,而不是读取我想要组合的所有列标题。当前的解决方案是单独组合每个元素并删除所有额外的列。最初我的问题是让 Nan 来填补,现在我只需要一种更快的方法来做我正在做的事情。
我需要什么
Var = Name1, Name2, Name3, Name4, Name5
something that combines all the elements
My New Column
当前解决方案(有效但太长无法使用)
df['c'] = df['Name1'].combine_first(df['Name2'])
df['c1'] = df['c'].combine_first(df['Name3'])
df['c2'] = df['c1'].combine_first(df['Name4'])
df['Names'] = df['c2'].combine_first(df['Name5'])
df = df.drop(['Name1','Name2','Name3','Name4','Name5','c','c1','c2'], axis=1)
问题
Name1 Name2 Name3 Name4 Name5
X NaN NaN NaN NaN
X NaN NaN NaN NaN
X NaN NaN NaN NaN
NaN X NaN NaN NaN
NaN X NaN NaN NaN
NaN X NaN NaN NaN
NaN NaN X NaN NaN
NaN NaN X NaN NaN
NaN . NaN X NaN NaN
NaN NaN NaN X NaN
NaN NaN NaN X NaN
NaN NaN NaN X NaN
NaN NaN NaN NaN X
NaN NaN NaN NaN X
NaN NaN NaN NaN X
想要的结果
Names
0 X
1 X
2 X
3 X
4 X
5 X
6 X
7 X
8 X
9 X
10 X
11 X
12 X
13 X
14 X
【问题讨论】: