用正斜杠拆分级数中的整数

2024-10-05 17:34:59 发布

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

我试图使用python的rsplit函数通过正斜杠分割序列中的整数,但它不起作用。在

原始数据

date
1/30/2015
1/30/2015
1/30/2015
1/30/2015
1/30/2015
1/30/2015
1/30/2015
1/30/2015
1/30/2015
1/30/2015

预期数据

我想用“/”分开

^{pr2}$

这样做的目的是将年份单独列出来。我以前试着用下面的代码。在

date =  df['date']
split = date.rsplit("/")
OutputData['Year']=split[2]

split[2]->;是日期序列中的年份-用于在单独的列中计算年份

非常感谢

这是我每次“这是一系列对象”时都会遇到的错误

AttributeError:“Series”对象没有属性“split”


Tags: 数据对象函数代码目的df原始数据date
2条回答

在我看来,使用^{}将字符串转换为datetime,这样就可以对其执行算术运算,如果需要年份或任何其他日期/时间组件,则可以使用矢量化的^{}访问器:

In [23]:
df['date'] = pd.to_datetime(df['date'])
df

Out[23]:
        date
0 2015-01-30
1 2015-01-30
2 2015-01-30
3 2015-01-30
4 2015-01-30
5 2015-01-30
6 2015-01-30
7 2015-01-30
8 2015-01-30
9 2015-01-30

In [24]:
df['year'] = df['date'].dt.year
df

Out[24]:
        date  year
0 2015-01-30  2015
1 2015-01-30  2015
2 2015-01-30  2015
3 2015-01-30  2015
4 2015-01-30  2015
5 2015-01-30  2015
6 2015-01-30  2015
7 2015-01-30  2015
8 2015-01-30  2015
9 2015-01-30  2015

您可以使用str访问器对系列使用字符串方法:

df["date"].str.rsplit("/")

或者把它们放在不同的列中:

^{pr2}$

对于序列,最好处理日期时间数据:

import pandas as pd
pd.to_datetime(df["date"]).dt.year
Out[10]: 
0    2015
1    2015
2    2015
3    2015
4    2015
5    2015
6    2015
7    2015
8    2015
9    2015
Name: date, dtype: int64

相关问题 更多 >