[英]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.