【发布时间】:2019-09-23 20:29:43
【问题描述】:
我在 Pandas 的列中提取了一些日期时间信息。例如,我得到了这样的宿舍:
df['quarter'] = pd.to_datetime(df['ddate'], format='%Y%m%d', errors='coerce').dt.quarter
我需要获取“季度”和“年”列并将它们组合成“Q3_2017”之类的内容。我可以使用这样的单个数据点使其正常工作:
'Q' + str(df['quarter'].iloc[0]) + '_' + str(df['year'].iloc[0])
但是当我尝试将“str()”应用于整个列时,我得到了奇怪的结果。例如:
df['period'] = str(df['quarter'])
我得到的不是四分之一(例如“1”),而是这样的:
7222 1\n185579 4\n185580 1\n2129..
到底发生了什么?什么是简单的解决方法?
我找到了一些以前的解决方案,但似乎没有一个专门适用于宿舍;例如,只能找出如何使用月份或年份来执行此操作。
【问题讨论】:
-
你的输入数据是什么样的?