【问题标题】:Append string at the beginning在开头附加字符串
【发布时间】:2018-10-30 19:49:46
【问题描述】:

我有一个 pandas 系列的字符串,我想在它的开头附加这个字符串。

例如,我有这个123456,我想要这个00000123456。 并非所有字符串的大小(长度)都相同,并且每个字符串的大小必须为 11。

我试过这段代码:

x = [6, 7, 8, 9, 10]
for i in range(len(x)):
    if x[i] == df['ID'].str.len():
        df['ID'].join((11-i)*'0')

并得到这个错误:

Series 的真值是模棱两可的。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

谁能帮帮我?

【问题讨论】:

标签: python string pandas append


【解决方案1】:

在 pandas 中,在您的列上使用 str,然后使用 zfill。小例子:

df = pd.DataFrame(['123456', '234567', '345678'], columns=['ID'])
df['ID'] = df['ID'].str.zfill(11)

给你:

             ID
0   00000123456
1   00000234567
2   00000345678

【讨论】:

    【解决方案2】:

    您可以使用str.zfill

    例如:

    n = "123456"
    print(n.zfill(11))
    

    输出:

    00000123456
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-14
      • 1970-01-01
      • 1970-01-01
      • 2017-01-20
      • 2022-07-21
      • 2019-01-17
      相关资源
      最近更新 更多