Trim pandas 数据框中第 headers 列的部分字符串

Trim part of string from column headers in a pandas dataframe

我正在处理从 .csv 文件导入的 pandas 数据框,其中大约有 18 列。每列都有项目名称和图像描述,格式为 html,如列 header。它是这样的:

A  <img width="300" alt="A" height="300".jpg">`  ` B <img width="400" alt="B" height="600".jpg"`......

等等。

我想要实现的是只获取我的列 header 的项目名称和 trim 图像部分。我试过这个替换功能:

df.rename(columns=lambda x: x.replace('<img width="300" alt="A" height="300".jpg">', ''), inplace=True)

但是不可能给出每个列的名称,因为有 30 个类似的文件,并且每个图像都有不同的描述。我在这里寻找更优雅的解决方案。我希望我的输出是这样的:

A   B   C   D   ......so on

如有任何帮助,我们将不胜感激。

我会使用正则表达式

df.columns = df.columns.str.replace('\s*<.*>\s*$', '')

如果您不熟悉正则表达式,您也可以尝试:

df.rename(columns=lambda x: x.split(' ')[0], inplace=True)

假定在您想要的输出和您不想要的输出之间始终存在 space。