pandas - pandas.read_excel 如何去掉列名的空格

我正在使用 pd.read_excel() 将 excel 文件导入到 python 文件中的列名如下:

columns_name_xlsx = ['Date:', 'Heure:','P1 (W)', 'P2 (W)', 'P3 (W)']

我想得到:

columns_name_expected = ['date:', 'heure:','p1_(w)', 'p2_(w)', 'p3_(w)']

我试过:

df.rename(str.lower.replace(' ', '_'), axis='columns')

但它不起作用。某人有想法吗?

谢谢 !

回答1

df.columns = (x.lower().replace(' ', '_') for x in df.columns)

回答2

您的解决方案不起作用,因为

  1. 您正在尝试链接两种实际上不可能的方法
  2. 替换方法需要提供参数(' '_

假设这个 DataFrame 存在

# Build mock dataframe
df = pd.DataFrame(columns=['Date:', 'Heure:', 'P1 (W)', 'P2 (W)', 'P3 (W)'])

最简单的方法是迭代地对初始列名应用转换

df1 = df.rename(columns={v: v.lower().replace(' ', '_') for v in df.columns})

或者,您可以链接操作并构建自定义函数

df1 = df.rename(str.lower, axis=1).rename(lambda x: x.replace(' ', '_'), axis=1)

我希望这会有所帮助!

相似文章

最新文章