<font color=red>[已解决]</font>补充成6位的问题,求大师帮忙,谢谢

查看 30|回复 1
作者:futui   

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册
x
data = {'代码':['123456','',4567,'54378','34']}
df = pd.DataFrame(data)
print(df)
       代码
0  123456
1        
2    4567
3   54378
4      34
我想转变成6位数的字符串,不够6位的在其前面加0补充成6位,但没有一个数字或字符的不处理,仍是空的,如下,求大师帮忙,谢谢
       代码
0   123456
1        
2   004567
3   054378
4   000034
最佳答案
月排行榜 /
总排行榜

isdkz
昨天 17:14
您可以使用pandas的`apply`方法以及Python的字符串格式化功能来实现这个需求。下面是一种实现方法:
[ol]
  • import pandas as pd
  • data = {'代码':['123456','',4567,'54378','34']}
  • df = pd.DataFrame(data)
  • def format_code(code):
  •     if code == '':
  •         return code
  •     else:
  •         return f"{int(code):06d}"
  • df['代码'] = df['代码'].apply(format_code)
  • print(df)
  • [/ol]复制代码
    结果:
    [ol]
  •        代码
  • 0   123456
  • 1        
  • 2   004567
  • 3   054378
  • 4   000034
  • [/ol]复制代码
    这个代码首先定义了一个名为`format_code`的函数,用于格式化代码。函数会检查输入的代码是否为空,如果为空则直接返回空字符串,否则使用字符串格式化功能将其格式化为6位数字。最后,使用`apply`方法将这个函数应用到数据框的'代码'列。

    跳转到最佳答案楼层
    .best_avatar img{width: 30px;height: 30px;border-radius: 30px;}

    代码, 字符串

  • noahhhh   

    .pct{min-height:100px;}

    您可以使用pandas的`apply`方法以及Python的字符串格式化功能来实现这个需求。下面是一种实现方法:
    [ol]
  • import pandas as pd
  • data = {'代码':['123456','',4567,'54378','34']}
  • df = pd.DataFrame(data)
  • def format_code(code):
  •     if code == '':
  •         return code
  •     else:
  •         return f"{int(code):06d}"
  • df['代码'] = df['代码'].apply(format_code)
  • print(df)
  • [/ol]复制代码
    结果:
    [ol]
  •        代码
  • 0   123456
  • 1        
  • 2   004567
  • 3   054378
  • 4   000034
  • [/ol]复制代码
    这个代码首先定义了一个名为`format_code`的函数,用于格式化代码。函数会检查输入的代码是否为空,如果为空则直接返回空字符串,否则使用字符串格式化功能将其格式化为6位数字。最后,使用`apply`方法将这个函数应用到数据框的'代码'列。
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部