Как сгенерировать уникальный номер идентификатора службы в Python, используя dataframe - PullRequest
0 голосов
/ 28 ноября 2018

Привет, ребята, у меня есть данные, которые имеют два cloumns, поэтому хочу создать уникальную последовательность идентификаторов для этого ... Это данные:

    Year    Month   
0   2010    Jan     
1   2010    Feb     
2   2010    Mar     
3   2010    Mar     
4   2010    Mar

Я хочучтобы присоединить этот сервисный идентификатор к этим двум столбцам, для этого я должен написать код:

data['Sr_ID'] = data.groupby(['Month','Year']).ngroup()
data.head()

это даст такой вывод:

Year    Month   Sr_ID
0   2010    Jan     20
1   2010    Feb     15
2   2010    Mar     35
3   2010    Mar     35
4   2010    Mar     35 

, ноя не хочу, чтобы "Sr_ID" был таким, как я, я хочу быть похожим на "Sr_0001 ... Sr_0002" он должен быть в последовательности чисел этого "Sr", поэтому для этого я хочу выводкак это:

    Year    Month   Sr_ID
 0  2010    Jan     Sr_0001
 1  2010    Feb     Sr_0002
 2  2010    Mar     Sr_0003
 3  2010    Mar     Sr_0004
 4  2010    Mar     Sr_0005

Я хочу создать другой идентификатор для другой строки, потому что у меня есть 8 столбцов, без повторяющихся строк.

1 Ответ

0 голосов
/ 28 ноября 2018

np.arange + str.zfill

Вы можете использовать диапазон, затем дополняйте нулями налево:

df['Sr_ID'] = 'Sr_' + pd.Series(np.arange(1, len(df.index)+1)).astype(str).str.zfill(4)

print(df)

   Year Month    Sr_ID
0  2010   Jan  Sr_0001
1  2010   Feb  Sr_0002
2  2010   Mar  Sr_0003
3  2010   Mar  Sr_0004
4  2010   Mar  Sr_0005
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...