如何将带有.1的重复列合并为不带有.1的单列?

时间:2018-10-26 19:09:41

标签: python python-3.x pandas

我有这样的df:

col1  col1.
1     nan
2     nan

如何将这些列合并为不带.1的列?

col1
1
2

如果列名相同,我可以这样做:

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

如果我尝试进行字符串替换,则列名会删除字符,不确定原因:

df.columns = df.columns.str.replace('.1','')

1 个答案:

答案 0 :(得分:2)

使用正则表达式对列进行规范化

df.columns = df.columns.str.extract(r'(\w+)\.?', expand=False)

使用groupby + first

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

   col1
0   1.0
1   2.0

您还可以groupby的{​​{1}}结果:

regex