2024-04-25 03:54:59 发布
网友
我有一个pandas数据帧,它的某个列的值应该是4。如果长度是3,我想在值的开头添加一个“0”。例如:
a b c 1 2 0054 3 6 021 5 5 0098 8 2 012
所以在c列中,我希望将第二行更改为“0021”,最后一行更改为“0012”。这些值已经是字符串。我试过:
但没用。谢谢你的帮助!在
如果C中的类型是int,则可以执行以下操作:
C
df['C'].apply(lambda x: ('0'*(4-len(str(x))))+str(x) if(len(str(x)) < 4) else str(x))
在lambda函数中,我检查x中的位数/字符数是否小于4。如果是,我在前面加零,这样x中的数字/字符数将是4(这也被称为填充)。如果不是,则返回字符串形式的值。在
x
如果您的类型是string,那么您可以删除str()函数调用,但这两种方法都可以。在
str()
如果
C
中的类型是int,则可以执行以下操作:在lambda函数中,我检查
x
中的位数/字符数是否小于4。如果是,我在前面加零,这样x
中的数字/字符数将是4(这也被称为填充)。如果不是,则返回字符串形式的值。在如果您的类型是string,那么您可以删除
str()
函数调用,但这两种方法都可以。在相关问题 更多 >
编程相关推荐