Python 组合多个列值

Python 组合多个列值,python,pandas,Python,Pandas,我有一组包含>100列的调查数据,其中大多数是具有不同值的重复列名 我的目标是创建一个代码,根据下面的示例,将所有具有相同列名的列自动分组,而不管我的文件中有多少列: 我尝试了ffill,但是如果列名不同,我找不到方法确保我的ffill停止 谁能教我怎么做 多谢各位 顺致敬意, Railey Shahril如果可能,每组有多个值,并且只需要最后一个非misng值,请使用: Idea是通过重复的列名称进行分组,向前填充缺少的值,并在lambda函数中选择每个组的最后一列: df = df.gr

我有一组包含>100列的调查数据,其中大多数是具有不同值的重复列名

我的目标是创建一个代码,根据下面的示例,将所有具有相同列名的列自动分组,而不管我的文件中有多少列:

我尝试了ffill,但是如果列名不同,我找不到方法确保我的ffill停止 谁能教我怎么做

多谢各位 顺致敬意,
Railey Shahril

如果可能,每组有多个值,并且只需要最后一个非misng值,请使用:

Idea是通过重复的列名称进行分组,向前填充缺少的值,并在lambda函数中选择每个组的最后一列:

df = df.groupby(level=0, axis=1).apply(lambda x: x.ffill(axis=1).iloc[:, -1])

如果每个组只有一行未丢失且需要最后一行:

df = df.groupby(level=0, axis=1).last()

第一个
最后一个
的字符串行为怪异。它们将返回
None
。在没有测试的情况下复制其他答案时要小心!:)@LaurensKoppenol-嗯,我用数字来测试,但现在我用数字来测试strings@LaurensKoppenol-
df=pd.DataFrame({'a':[np.nan,np.nan,4,np.nan,np.nan,4],'B':[3,4,np.nan,4,np.nan,np.nan,4,np.nan,4],'r':[1,3,np.nan,7,1,0],})df.columns=list('AABBB')
@LaurensKoppenol-你有经验吗
他们不会返回任何结果
?如果是,那么更好的是第一个解决方案,
pd.DataFrame([[None',吉隆坡,'group1'],['kualalumpur',None',group1']],columns=[Place','Place','groups'])。groupby(level=0,axis=1)。last()