python - 删除列标题中 : 之前的所有字符

标签 python pandas

我的列的命名如下:

1:Arnston 2:Berg 3:Carlson 53:Brown

并且我想删除 : 之前的所有字符(包括 :)。我知道我可以重命名列,但这会非常乏味,因为我的数字最多为 100。

我想要的输出是:

阿恩斯顿伯格卡尔森布朗

最佳答案

假设你有一个看起来像这样的框架:

>>> df
   1:Arnston  2:Berg  3:Carlson  53:Brown
0          5       0          2         1
1          9       3          2         9
2          9       2          9         7

您可以使用矢量化字符串运算符在第一个冒号处拆分每个条目,然后获取第二部分:

>>> df.columns = df.columns.str.split(":", 1).str[1]
>>> df
   Arnston  Berg  Carlson  Brown
0        5     0        2      1
1        9     3        2      9
2        9     2        9      7

关于python - 删除列标题中 : 之前的所有字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35329206/

相关文章:

python - 将长列表全部写入一行

python - python 如何停止多线程

python - Pandas 中的转换与聚合

python - 使用 pandas 循环遍历 .xlsx 文件,仅执行第一个文件

python - 给定的特征/列名称与拟合期间给定的数据不匹配。错误

python - PIL 到 OpenCV MAT 导致颜色偏移

python - 如何将用户输入的字符串存储在变量中,然后查看这些输入是否包含在单词中

python - 如何在 python 中合并上一个/下一个列表?

python - 读取 CSV 文件并跳过行,直到我们使用 python 找到某些列

python pandas 将数据框更改为旋转列