在Python中有没有办法从字符串列中提取最后2个字符并将其转换为数字列?

2024-05-19 08:36:39 发布

您现在位置:Python中文网/ 问答频道 /正文

QUARTER_COLUMN
FY19
FY18
FY17

我想从这个列中提取最后两个字符,并在同一代码中将其转换为整数类型列

df1['QUARTER_COLUMN'].str[-2:]

这将提取字符,但不会在同一代码中转换为整数列


Tags: 代码类型column整数字符中将df1str
2条回答

或者可以尝试使用pd.to_numeric

>>> df = df.assign(Years=df.QUARTER_COLUMN.str[-2:])
>>> df['Years'] =  pd.to_numeric(df['Years'], errors='coerce')
>>> df
  QUARTER_COLUMN  Years
0           FY19     19
1           FY18     18
2           FY17     17

查看数据类型

>>> df.dtypes
QUARTER_COLUMN    object
Years              int64
dtype: object

或者

甚至您也可以尝试按以下方式指定列名:

>>> df = df.assign(Year=df.QUARTER_COLUMN.str[-2:].astype('int'))
>>> df
  QUARTER_COLUMN  Year
0           FY19    19
1           FY18    18

通过str.extract

>>> df = df.assign(Year=df.QUARTER_COLUMN.str.extract('(\d+)', expand=True).astype(int))
>>> df
  QUARTER_COLUMN  Year
0           FY19    19
1           FY18    18
2           FY17    17

您可以使用astype方法

df1['QUARTER_COLUMN'].str[-2:].astype(int)

您仍然需要将返回的序列保存到数据帧中

df1['year'] = df1['QUARTER_COLUMN'].str[-2:].astype(int)

相关问题 更多 >

    热门问题