python - 将字符串转换为日期 [含年份和季度]

标签 python date pandas

我有一个 pandas 数据框,其中一列包含以下格式的年份和季度字符串:

2015Q1

我的问题: 如何将其转换为两个日期时间列,一个用于年份,一个用于季度。

最佳答案

您可以使用 split ,然后将 year 列转换为 int 并在必要时将 Q 添加到 q 列:

df = pd.DataFrame({'date':['2015Q1','2015Q2']})
print (df)
     date
0  2015Q1
1  2015Q2

df[['year','q']] = df.date.str.split('Q', expand=True)
df.year = df.year.astype(int)
df.q = 'Q' + df.q
print (df)
     date  year   q
0  2015Q1  2015  Q1
1  2015Q2  2015  Q2

您也可以使用 Period :

df['date'] = pd.to_datetime(df.date).dt.to_period('Q')

df['year'] = df['date'].dt.year
df['quarter'] = df['date'].dt.quarter

print (df)
    date  year  quarter
0 2015Q1  2015        1
1 2015Q2  2015        2

关于python - 将字符串转换为日期 [含年份和季度],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40634813/

相关文章:

javascript - 如何从 jquery 或 javascript 中的静态日期数组中获取日期范围

python - pandas read_csv 按列索引(不是名称)设置 `dtype`

python - 带有 seaborn 的可变宽度条形图

python - 使用python的快速修复,多次心跳后接收器突然看不到我的了?

Python 文件重命名

python - imshow 中 matplotlib 的颜色值?

java - Oracle:意外强制 RR 年份格式

mysql - 将序数日期 (YYYYDDD) 转换为标准日期(例如 UTC = YYYYMMDD )

python - Pandas DataFrame 能否高效计算 PMI(Pointwise Mutual Information)?

python - 在数据框中找到错误的数据点python