pandas 中的混合日期时间和分类层次索引(多索引)
Mixed datetime and categorical hierarchical index (multiindex) in pandas
数据框df
包括df['country']
、df['sector']
和df['year']
上的列,还有其他混合了int
和[=17的数字数据=].国家和部门是 categorical
变量,年份是 datetime64[ns]
.
我创建了一个3层层次结构如下
arrays1 = [np.array(df['country']), np.array(df['sector']), np.array(df['year'])]
df1 = df.set_index(arrays1)
df1.index.names = ['country','sector', 'year']
df1 = df1.sort_index()
您应该如何创建此多重索引以确保第三级 year
被识别为每年频率的 datetimeIndex?
看来您需要:
df1 = df.set_index(['country','sector','year']).sort_index()
然后你可以通过get_level_values
检查level
of MultiIndex
:
print (df1.index.get_level_values('year'))
数据框df
包括df['country']
、df['sector']
和df['year']
上的列,还有其他混合了int
和[=17的数字数据=].国家和部门是 categorical
变量,年份是 datetime64[ns]
.
我创建了一个3层层次结构如下
arrays1 = [np.array(df['country']), np.array(df['sector']), np.array(df['year'])]
df1 = df.set_index(arrays1)
df1.index.names = ['country','sector', 'year']
df1 = df1.sort_index()
您应该如何创建此多重索引以确保第三级 year
被识别为每年频率的 datetimeIndex?
看来您需要:
df1 = df.set_index(['country','sector','year']).sort_index()
然后你可以通过get_level_values
检查level
of MultiIndex
:
print (df1.index.get_level_values('year'))