以编程方式重命名熊猫列,插入'_'



我有一个相当宽的Pandas DataFrame,有300列。几个列名的单词之间有space。我想用_替换列名中的spaces

我不能使用df.rename,因为我必须指定300个列名中的每一个。正在寻找一种在python中实现这一点的编程方法。以下是一些要使用的示例数据:

import pandas as pd
df = pd.DataFrame({
'col 1': [1],
'col 2': [2],
'col 3': [3]
})

您可以将生成器表达式与字符串方法replace()结合使用:

df = pd.DataFrame({
'col 1': [1],
'col 2': [2],
'col 3': [3]
})
df.columns = (x.replace(' ', '_') for x in df.columns)

您可以将rename()lambda:一起使用

df = pd.DataFrame({'spaces here': ['a'], 'NoSpaces': ['b'], 'more spaces': ['c']})
df.rename(columns = lambda x: x.replace(' ','_'))
spaces_here NoSpaces more_spaces
0           a        b           c

最新更新