如何在R DataFrame中提取单元格内容到新列,或直接按年份排序?
解决方法
前提准备
先确保你的日期列是datetime类型,如果当前是字符串格式,先做转换:
import pandas as pd vote_data['date'] = pd.to_datetime(vote_data['date'])
方法一:提取年份到新列后排序
- 新增年份列:
vote_data['year'] = vote_data['date'].dt.year
- 按年份排序(默认升序,添加
ascending=False可改为降序):
vote_data_sorted = vote_data.sort_values(by='year')
方法二:无需新建列,直接按年份排序
利用sort_values的key参数(需Pandas 1.1.0及以上版本),直接基于日期的年份完成排序:
vote_data_sorted = vote_data.sort_values(by='date', key=lambda x: x.dt.year)
也可以直接将dt.year作为排序依据:
vote_data_sorted = vote_data.sort_values(by=vote_data['date'].dt.year)
内容的提问来源于stack exchange,提问作者Pandalorian
相关产品推荐
相关产品推荐

