2024-05-18 07:14:55 发布
网友
我有一个带有id列的pandas数据帧,如下所示:
id
id A2015 B2016 C2017
我需要两个新列,如下所示:
id year name A2015 2015 A Q B2016 2016 B Q C2017 2017 C Q
因此year列应该采用id列的最后四个字符,name列应该采用除最后四个字符以外的所有字符并添加Q。你知道吗
year
name
Q
如何做到这一点?你知道吗
df['year'] = df['id'].apply(lambda v : v[1:]) df['name'] = df['id'].apply(lambda v : v[0] + ' Q')
lambda函数通常更快
您可以使用字符串方法获取这些。你知道吗
通过参与id字符串获取year
In [60]: df['year'] = df['id'].str[1:]
并且,通过获取id字符串的最后四个字符并添加' q'来获得name
' q'
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
lambda函数通常更快
您可以使用字符串方法获取这些。你知道吗
通过参与
id
字符串获取year
并且,通过获取
id
字符串的最后四个字符并添加' q'
来获得name
相关问题 更多 >
编程相关推荐