根据当前值的长度更改pandas数据帧中的值

2024-04-25 03:54:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个pandas数据帧,它的某个列的值应该是4。如果长度是3,我想在值的开头添加一个“0”。例如:

a    b    c    
1    2    0054
3    6    021
5    5    0098
8    2    012

所以在c列中,我希望将第二行更改为“0021”,最后一行更改为“0012”。这些值已经是字符串。我试过:

^{pr2}$

但没用。谢谢你的帮助!在


Tags: 数据字符串pandaspr2
1条回答
网友
1楼 · 发布于 2024-04-25 03:54:59

如果C中的类型是int,则可以执行以下操作:

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(这也被称为填充)。如果不是,则返回字符串形式的值。在

如果您的类型是string,那么您可以删除str()函数调用,但这两种方法都可以。在

相关问题 更多 >