我有这样的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','')
答案 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