pandas 设置 Dataframe 索引以表示多个日期时间?

mdfafbf1  于 2023-03-21  发布在  其他
关注(0)|答案(1)|浏览(116)
D         3D          W         2W          M
0   2023-03-20        NaT 2023-03-20        NaT        NaT
1   2023-03-17        NaT        NaT        NaT        NaT
2   2023-03-16 2023-03-16        NaT        NaT        NaT
3   2023-03-15        NaT        NaT        NaT        NaT
4   2023-03-14        NaT        NaT        NaT        NaT
5   2023-03-13 2023-03-13 2023-03-13 2023-03-13        NaT
6   2023-03-10        NaT        NaT        NaT        NaT
7   2023-03-09        NaT        NaT        NaT        NaT
8   2023-03-08 2023-03-08        NaT        NaT        NaT
9   2023-03-07        NaT        NaT        NaT        NaT
10  2023-03-06        NaT 2023-03-06        NaT        NaT
11  2023-03-03 2023-03-03        NaT        NaT        NaT
12  2023-03-02        NaT        NaT        NaT        NaT
13  2023-03-01        NaT        NaT        NaT 2023-03-01
14  2023-02-28 2023-02-28        NaT        NaT        NaT
15  2023-02-27        NaT 2023-02-27 2023-02-27        NaT

你好。
每当我查询列“D”下的日期时,它都会从集合D中为我带来所选日期的唯一 Dataframe 。
3D、W、2 W、M下的日期也带来了来自不同集合的独特 Dataframe 。
但是,例如,查询收集日期“2023-03-10”时,3D、W、2 W、M返回空。
但集合“M”的日期“2023-03-01”也适用于日期“2023-03- 10”,集合2 W的日期“2023-02-27”也适用于“2023-03-10”等。
因此,每当我查询集合'D'的日期'2023-03-10'时,我也希望返回dataframes from:
第3天2023年3月8日、第2周2023年3月6日、第2周2022年2月27日和第3月2023年3月1日。
这必须是实现这一点的唯一方法,因为我不能修改或复制数据库上的日期。我对此没有解决方案。在Pandas中有逻辑吗?
先谢了。

ccrfmcuu

ccrfmcuu1#

我认为您需要使用DataFrame.bfill的下一个值来回填缺失值:

#for all columns without first
df.iloc[:, 1:] = df.iloc[:, 1:].bfill()
#for all columns without D
df.update(df.drop('D', axis=1).bfill())

相关问题