熊猫:按位置替换列中部分字符串

时间:2020-01-30 14:11:34

标签: python python-3.x pandas dataframe

如您所见,B列包含4个字符。

{
  "filter": "name eq 'test'",
  "skip": "20",
  "count": "true"
}

我要用A B aaaa 0007 baaa 0119 aaab 0232 abaa 0576 aaba 0924 替换B列中每行的最后两个字符,保留前两个字符,并将结果保存在C列中。预期结果如下

00

我尝试过:

A B C aaaa 0007 0000 baaa 0119 0100 aaab 0232 0200 abaa 0576 0500 aaba 0924 0900

但是结果不同,因为它完全用df['C'] = df['B'].replace(df['B'][2:3], "00")将B列中的第2行更改为第3行。

我使用Python 3。

1 个答案:

答案 0 :(得分:3)

您可以执行以下操作:

  1. 提取前两位数字
  2. 将它们转换为字符串
  3. 附加00
df['C'] = df['B'].map(str).str[:2] + "00"