如何在Python Pandas中提取值属于1980年代和1990年代的行
实现方法
情况1:现有DataFrame已有单独的数值型年份列(假设列名为year)
直接通过布尔索引筛选符合年份范围的行即可:
# 筛选1980-1999年的行,赋值给新DataFrame data1_CBS_80s_90s = df[(df['year'] >= 1980) & (df['year'] <= 1999)]
也可以用between方法简化写法:
data1_CBS_80s_90s = df[df['year'].between(1980, 1999)]
情况2:年份存储在datetime格式的日期列中(假设列名为create_date)
先从日期列提取年份再筛选:
# 方法1:先提取年份列再筛选 df['year'] = df['create_date'].dt.year data1_CBS_80s_90s = df[df['year'].between(1980, 1999)] # 方法2:一步完成筛选 data1_CBS_80s_90s = df[df['create_date'].dt.year.between(1980, 1999)]
你提供的数据样例截图如下:
内容的提问来源于stack exchange,提问作者m_ewing
相关产品推荐
相关产品推荐

