我有一个熊猫数据框,其中三列是浮点数(floats64):
Num1 Num2 Num3
0 2345656 3.0 12345.0
1 3456 3.0 3100.0
2 541304 4.0 5432.0
3 NaN NaN NaN
4 12313201308 1.0 99999.0
我想在 Num2 和 Num3 列中添加前导零,使它们看起来像这样:
Num1 Num2 Num3
0 2345656 003 12345
1 3456 003 03100
2 541304 004 05432
3 NaN NaN NaN
4 12313201308 001 99999
我希望 Num2 总共有 3 位数字,包括前导零,而 Num3 总共有 5 位数字,包括前导零,使 NaN 保持原样(或不影响 NaN)。最终目标是连接 Num1、Num2 和 Num3 以创建一个新列。
我尝试了
df['Num2'].apply(lambda x: '{:05}'.format(x) if pd.notnull(x) else x)
和
df['Num2'].apply(lambda x: x.zfill(5) if pd.notnull(x) else x)
,但它们没有像我预期的那样添加零。如果比我更有知识的人可以帮助我,我将不胜感激!