Python 基于其他列创建新列,但不包括剥离
我有一个带有Python 基于其他列创建新列,但不包括剥离,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个带有id列的熊猫数据框,如下所示: id A2015 B2016 C2017 我想要两个新专栏,如下所示: id year name A2015 2015 A Q B2016 2016 B Q C2017 2017 C Q 因此,year列应采用id列的最后四个字符,name列应采用除最后四个字符以外的所
id
列的熊猫数据框,如下所示:
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'
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
您可以使用string方法获取这些 通过参与
id
字符串获取year
In [60]: df['year'] = df['id'].str[1:]
并且,通过获取id
字符串的最后四个字符并添加'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
您可以使用string方法获取这些 通过参与
id
字符串获取year
In [60]: df['year'] = df['id'].str[1:]
并且,通过获取id
字符串的最后四个字符并添加'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
您可以使用string方法获取这些 通过参与
id
字符串获取year
In [60]: df['year'] = df['id'].str[1:]
并且,通过获取id
字符串的最后四个字符并添加'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函数通常更快
lambda函数通常更快
lambda函数通常更快
lambda函数通常更快ah谢谢。我走的路是对的,但不是通过
df['id']访问。str
我是通过str(df['id'])
访问的,这是错误的……啊,谢谢。我走的路是对的,但不是通过df['id']访问。str
我是通过str(df['id'])
访问的,这是错误的……啊,谢谢。我走的路是对的,但不是通过df['id']访问。str
我是通过str(df['id'])
访问的,这是错误的……啊,谢谢。我走的路是对的,但不是通过df['id']访问。str
我是通过str(df['id'])
访问的,这是错误的…不一定@sachin是考虑到加速而写的。不一定@sachin是考虑到加速而写的。不一定@sachin,是考虑到加速而写的。不一定是@sachin,是考虑到加速而写的。