python - 根据日期列表过滤数据框
问题描述
我有以下气象站数据框(短数据框):
import pandas as pd
import numpy as np
df_Station = pd.DataFrame({'Hemisphere': ['North', 'North', 'North', 'South'],
'Qtd_Instrumentation': [18, 5, 25, 10],
'Year_Construction': [2015, 2008, 2016, 2020]})
我想生成一个新的数据框。这需要在车站建成的年份进行过滤。我试图创建一个包含目标年份的列表并构建 df_ 如下:
list_years = [2015, 2016, 2017, 2018, 2019, 2020]
df_Filter = df_Station[df_Station['Year_Construction'] == list_years]
但是,此代码有错误: ValueError: Lengths must match to compare
我希望输出(df_Filter)为:
print(df_Filter)
Hemisphere Qtd_Instrumentation Year_Construction
North 18 2015
North 25 2016
South 10 2020
谢谢你。
解决方案
用于pandas.Series.isin
此类过滤。
df_Filter = df_Station[df_Station['Year_Construction'].isin(list_years)]
推荐阅读
- flyway - Flyway Locations 属性未设置
- javascript - 在 react-native 中将 pdf 文件从存储上传到 firebase
- python - pgAdmin Postgresql 用户输入条件
- python - 如何从用户 id discord.py 中获取 Member 对象
- python - 有没有办法让抓取脚本暂停用户手动登录网站,然后继续抓取网站?
- autohotkey - 使用 FormatTime 将长日期转换为编号日期
- python - 在python中的列表中查找具有最接近值的两个数字
- c++ - 输出期间的“CryptoPP::Integer”对齐
- java - 如何修复 Eclipse 中不再打开的工作区(因为 EGit)?
- powerbi - PowerBi Desktop:创建简单的折线图