Как добавить ведущие нули в строки в pandas


Вы можете использовать следующий синтаксис для добавления ведущих нулей к строкам в DataFrame pandas:

 df[' ID '] = df[' ID ']. apply (' {:0>7} '. format )

Эта конкретная формула добавляет к строкам в столбце с надписью «ID» столько ведущих нулей, сколько необходимо, пока длина каждой строки не будет равна 7 .

Не стесняйтесь заменять 7 другим значением, чтобы добавить другое количество ведущих нулей.

В следующем примере показано, как использовать этот синтаксис на практике.

Пример. Добавление ведущих нулей в строки в Pandas

Допустим, у нас есть следующий DataFrame pandas, который содержит информацию о продажах и возвратах из различных магазинов:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' ID ': ['A25', 'B300', 'C6', 'D447289', 'E416', 'F19'],
                   ' sales ': [18, 12, 27, 30, 45, 23],
                   ' refunds ': [1, 3, 3, 2, 5, 0]})

#view DataFrame
print (df)

        ID sales refunds
0 A25 18 1
1 B300 12 3
2 C6 27 3
3 D447289 30 2
4 E416 45 5
5 F19 23 0

Обратите внимание, что не все длины строк в столбце «ID» одинаковы.

Однако мы видим, что самая длинная строка имеет длину 7 символов.

Мы можем использовать следующий синтаксис, чтобы добавить ведущие нули к строкам в столбце «ID», чтобы каждая строка имела длину 7 :

 #add leading zeros to 'ID' column
df[' ID '] = df[' ID ']. apply (' {:0>7} '. format )

#view updated DataFrame
print (df)

        ID sales refunds
0 0000A25 18 1
1 000B300 12 3
2 00000C6 27 3
3 D447289 30 2
4 000E416 45 5
5 0000F19 23 0

Обратите внимание, что к строкам в столбце «ID» добавлены ведущие нули, так что теперь каждая строка имеет одинаковую длину.

Примечание . Полную документацию по функции apply в pandas можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:

Как вменить пропущенные значения в пандах
Как посчитать пропущенные значения в пандах
Как заполнить значения NaN средним значением в пандах

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *