簡體   English   中英

根據其他列創建新列,但要剝離

[英]create new column based on other column but stripping

我有一個帶有id列的pandas DataFrame看起來像這樣:

id                
A2015        
B2016         
C2017         

我想要兩個新列,如下所示:

id         year       name  
A2015      2015       A Q
B2016      2016       B Q
C2017      2017       C Q

因此year列應采用id列的最后四個字符,而name列應采用除最后四個字符以外的所有字符,並加上Q

如何做到這一點?

您可以使用字符串方法獲得這些。

參加id字符串獲取year

In [60]: df['year'] = df['id'].str[1:]

並且,通過獲取id字符串的最后四個字符並添加' q'獲取name

In [61]: df['name'] = df['id'].str[:-4] + ' Q'

In [62]: df
Out[62]:
      id  year name
0  A2015  2015  A Q
1  B2016  2016  B Q
2  C2017  2017  C Q
    df['year'] = df['id'].apply(lambda v : v[1:])
    df['name'] = df['id'].apply(lambda v : v[0] + ' Q')

lambda函數通常更快

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM