我在 DF 中有一只熊猫系列,就像这个:
DF=pd.DataFrame([1,2,58,99,123,256],columns=["ID"])
ID
0 1
1 2
2 58
3 99
4 123
5 256
我正在尝试修改“ID”列,以便获得类似的内容(始终为三个字符,因此长度<3的数字为一或两个零):
ID
0 "001"
1 "002"
2 "058"
3 "099"
4 "123"
5 "256"
我试图通过列表理解、astype(str)、replace() 和 str.len() 来实现这一点,如下所示:
DF["ID"]=[x.replace(x, i*"0"+x) for x,i in (DF["ID"].astype(str),int(DF[DF["ID"]].astype(str).len())-3)]
但是后来我遇到了这个错误
KeyError: "None of [Int64Index([1, 2, 58, 99, 123, 256], dtype='int64')] are in the [columns]"
我该如何解决?