python - 如何从数据框中切片唯一日期数据?
问题描述
现有的日期切片方法通常提取两个日期之间的数据,而不是区分日期。我的问题是对不同日期的数据进行切片。我的数据框由以下给出:
df = A B
2019-03-21 19:15:00 21.787958 16.728439
2019-03-25 19:16:00 20.983078 15.865983
2019-03-29 19:17:00 20.122042 15.073062
我想提取第 21 天和第 29 天的数据。我的代码如下: Code1:
df.index == ['2019-03-21','2019-03-29']
输出:
ValueError: Lengths must match
代码2:
df['2019-03-21','2019-03-29']
输出:
KeyError: ('2019-03-21', '2019-03-25')
你能帮我找出这里的错误吗?
解决方案
这里发生的事情很少。首先,当您使用“==”将一个列表与另一个列表进行比较时,它不一定会返回元素比较 - 您必须使用 pandas 内置的“isin”方法。
其次,当您将掩码传递给数据帧以对其进行过滤时,掩码需要与数据帧中的行具有相同数量的元素。
第三,您有一个日期时间的索引,您想与日期进行比较 - 因此您必须先提取日期组件进行比较。
df=pd.DataFrame({'A':[21.787958,20.983078,20.122042], 'B':16.728439,15.865983,15.073062]})
df.index=pd.to_datetime(['2019-3-21 19:15:0','2019-3-25 19:16:0','2019-3-29 19:17:0'])
所以这是过滤后的数据框:
df[pd.to_datetime(df.index.date).isin(pd.to_datetime(['2019-03-21','2019-03-29']))]
推荐阅读
- ios - 使用未解析的标识符“InstanceID”Firebase 6.2.2
- python - Python:递归地将操作数及其运算符组合在一个列表中
- javascript - 如何使用时刻 js 格式化完整的 Jalaali 日期?
- swift - 使用 Swift 处理 IKEv2 Personal VPN 的状态
- reactjs - 如何防止 redux-persist 在用户允许之前使用 LocalStorage?
- javascript - 无法使用 HTML 和 Javascript 打开 pdf 并打印
- reactjs - 在 Material UI 抽屉中用空格分隔垂直元素
- python - 我的任务是创建一个用逗号分隔的随机数的文件。编写 python 代码对它们求和和求平均值。这个怎么做?
- swift - 线程 CompletionHandler Swift
- oracle - 如何在 PL/SQL 中声明和设置变量