首页 > 解决方案 > Python Pandas用动态名称修剪列的空白

问题描述

我有几个要使用 Pandas 处理的 csv 文件。复杂之处在于每个文件的第一列都有不同的标题(其数据应以字符串形式读取),而所有其他列的值应以数字形式读取。

我想修剪第一列值中的尾随空格,但我找到的所有解决方案:

  1. 将整个数据帧转换为字符串格式(这是不可取的)
  2. 需要列名才能仅修剪其值(正如我所说,该列的标题在每个文件中都不同)

Pandas 中有什么方法可以按位置获取第一列并仅修剪其值的尾随空格?

标签: python-3.xpandas

解决方案


使用.iloc[:, 0]按索引位置选择行和列。
在这种情况下.loc[:, 0]意味着:选择所有行并选择第一列。

要仅删除尾随空格,请使用.str.rstrip()
如果要同时删除前导空格和尾随空格,请使用.str.strip()

df.iloc[:, 0] = df.iloc[:, 0].astype(str).str.rstrip()

另请参阅:
如何将 pandas DataFrame 的第一列作为一个系列?


推荐阅读