在pandas中选择标题为日期时间类型的列时出现不一致的错误?

时间:2018-04-03 04:05:07

标签: python pandas dataframe

需要一些非常奇怪的熊猫问题的帮助。

我有这个数据框df_raw,其列索引是字符串和日期时间类型的混合。如果我运行此代码:

df = df_raw
month = pd.datetime(2018,1,1)
assert month in df.columns # this always passes
df.loc[:,month]

它引发了一个KeyError,主要是说1/1/2018不在列索引中。但显然是,否则它不会通过断言。

更令人困惑的是,如果我稍微修改第一行:

df = df_raw.iloc[:, 0:]
month = pd.datetime(2018,1,1)
assert month in df.columns # this always passes
df.loc[:,month]

它会给出正确的结果。但除了重新选择整个dataframe(也创建了副本而不是视图)之外,我没有做任何不同的事情。 我一直在使用类似的dataframes,其中列索引是datetime类型和其他类型的混合,这是第一次遇到此问题。一些Python大师可以告诉我这是我正在处理的伏都教魔法是什么?

0 个答案:

没有答案