gpt4 book ai didi

python - 基于python中的其他列生成自定义ID

转载 作者:行者123 更新时间:2023-11-28 22:14:14 25 4
gpt4 key购买 nike

我有一个看起来像这样的 pandas df

   UID    DOB        BEDNUM     
0 1900-01-01 CICU1
1 1927-05-21 CICU1
2 1929-10-03 CICU1
3 1933-06-29 CICU1
4 1936-01-09 CICU1
5 1947-11-14 CICU1
6 1900-01-01 CICU1
7 1927-05-21 CICU1
8 1929-10-03 CICU1
9 1933-06-29 CICU1
10 1936-01-09 CICU1
11 1947-11-14 CICU1

现在我想向该数据框添加一个新列 TID,其格式应为“YYYY-0000000-P”

    UID    DOB        BEDNUM    TID 
0 1900-01-01 CICU1 1900-0000000-P
1 1927-05-21 CICU1 1927-0000001-P
2 1929-10-03 CICU1 1929-0000002-P
3 1933-06-29 CICU1 1933-0000003-P
4 1936-01-09 CICU1 1936-0000004-P
5 1947-11-14 CICU1 1947-0000005-P
6 1900-01-01 CICU1 1900-0000006-P
7 1927-05-21 CICU1 1927-0000007-P
8 1929-10-03 CICU1 1929-0000008-P
9 1933-06-29 CICU1 1933-0000009-P
10 1936-01-09 CICU1 1936-0000010-P
11 1947-11-14 CICU1 1947-0000011-P

我在一个表中有 24000 条记录,最后一条记录 TID 应该类似于“YYYY-0024000-P”。

如果有人能帮助我,我将不胜感激。提前致谢!!

最佳答案

这是使用 Pandas str 方法的一种方式:

df['DOB'] = pd.to_datetime(df['DOB'])  # convert DOB to datetime if necessary

df['TID'] = df['DOB'].dt.year.astype(str) + '-' + df['UID'].astype(str).str.zfill(7) + '-P'

print(df)

UID DOB BEDNUM Year TID
0 0 1900-01-01 CICU1 1900 1900-0000000-P
1 1 1927-05-21 CICU1 1927 1927-0000001-P
2 2 1929-10-03 CICU1 1929 1929-0000002-P
3 3 1933-06-29 CICU1 1933 1933-0000003-P
4 4 1936-01-09 CICU1 1936 1936-0000004-P
5 5 1947-11-14 CICU1 1947 1947-0000005-P
6 6 1900-01-01 CICU1 1900 1900-0000006-P
7 7 1927-05-21 CICU1 1927 1927-0000007-P
8 8 1929-10-03 CICU1 1929 1929-0000008-P
9 9 1933-06-29 CICU1 1933 1933-0000009-P
10 10 1936-01-09 CICU1 1936 1936-0000010-P
11 11 1947-11-14 CICU1 1947 1947-0000011-P

关于python - 基于python中的其他列生成自定义ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53506845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com