Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
186 views
in Technique[技术] by (71.8m points)

python - Convert a column of timestamps into periods in pandas

I have a column of timestamps that need to be converted into period ('Month'). e.g.

1985-12-31 00:00:00 to 1985-12

Pandas have a .to_period function, but it only works for timestamps index, not column. So you can only have a period index, but not a period column?

And it only work if timestamps is the only index. That is, if timestamps are part of a multIndex, the .to_period() function doesn't work as well.

It seems that Pandas assume people will always use timestamps and periods as index, but not a single column, which is apparently not the case.

Anyway I can get around with this? Or if not in Pandas, can it be done in numpy?

Thanks!

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I came across this thread today, and after further digging found that Pandas .15 affords an easier option use .dt, you can avoid the step of creating an index and create the column directly. You can use the following to get the same result:

df[1] = df[0].dt.to_period('M')

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...