我有一个按日期(年和时间到秒)进行索引的dataframe,我希望获得与我计算的特定时间段相对应的行。但是,在使用datetime类型或str类型进行索引时,我无法摆脱keyerror。代码如下所示:
def get_series(self, id_dataset, time=None):
if time == None:
time = dt.datetime.now()
time = time.replace(second=0, microsecond=0)
dataframe_global = pandas.read_csv('../rsc
我有一个包含多个列的DataFrame,其中一个列的类型是datetime。有时通过df.set_index(...).将此列用作索引。
在其他情况下,为了保持datetime列,我需要重置该索引。现在,我正在寻找一种如何检查dataframe是否有默认索引的方法。我试过了,但这并不适用于所有案件:
if df.index.name is not None:
df.reset_index(inplace=True)
我可以测试索引是否为datetime类型,但我真的想知道是否有像df.is_index_set().这样的通用方法。有什么建议吗?
如何将此dataframe的年份和月份名称转换为日期时间列:
region year Months
0 alabama 2018 January
1 alabama 2018 February
2 alabama 2018 March
3 alabama 2018 April
4 alabama 2018 May
当我这样做的时候:
pd.to_datetime(df_sub['year'] * 10000 + df_sub['Months'] * 100, format='%Y%m'
让我们假设我有一个MultiIndex,它包含日期和一些类别(为了简单起见,在下面的示例中是一个类别),并且对于每个类别,我都有一个包含某个流程的值的时间序列。我只有在有观察值的时候才有一个值,现在我想在那一天没有观察值的时候添加一个"0“。我发现了一种似乎非常低效的方法(堆叠和非堆叠,这将在数百万个类别的情况下创建许多许多列)。
import datetime as dt
import pandas as pd
days= 4
#List of all dates that should be in the index
all_dates = [datetime.date(2013