草庐IT

python - 将多索引排序到全深度( Pandas )

我有一个数据框,我从一个csv文件加载它,然后通过set_index方法将索引设置为它的几列(通常是两列或三列)。这个想法是然后使用几个组合键访问数据框的部分,如下所示:df.set_index(['fileName','phrase'])df.ix['somePath','somePhrase']显然,只有当数据帧的MultiIndex被排序到足够的深度时,这种具有多个键的选择才有可能。在这种情况下,由于我提供了两个键,只有当数据帧MultiIndex被排序到至少2的深度时,.ix操作才不会失败。出于某种原因,当我如图所示设置索引时,对我来说似乎两层都已排序,调用df.index.l

c# - 如何实现多索引字典?

基本上我想要像Dictionary这样的东西,但不是(正如我在其他问题中看到的)键在AND中,而是在OR中。为了更好地解释:我希望能够在字典中找到一个只提供一个键而不是两个键的元素。我还认为我们应该考虑线程安全和轻松扩展到Dictionary解决方案的能力... 最佳答案 我会用这两个字典实现一个数据结构Dictionary>dict1;Dictionary>dict2;这样一来,如果您获得了1个键,您将同时拥有值和另一个键,以便轻松删除和更新。 关于c#-如何实现多索引字典?,我们在S

python - pandas 多索引级别内按列排序

我对下面的每个示例都有一个排序请求。我需要reset_index(),然后是sort(),然后是set_index(),还是有什么巧妙的方法可以做到这一点?l=[[1,'A',99],[1,'B',102],[1,'C',105],[1,'D',97],[2,'A',19],[2,'B',14],[2,'C',10],[2,'D',17]]df=pd.DataFrame(l,columns=['idx1','idx2','col1'])df.set_index(['idx1','idx2'],inplace=True)#assumedatahasbeenreceivedlikethis

python - 在多索引 Python Panda 数据框中过滤多个项目

我有下表:NSRCODEPBL_AWIAreaCMBONS44705.492941BTNN253854.591990FONG41625.590370FONS16814.159680Lake57124.819333River1603.906642SONS583958.444751STNN45603.837177clearcut106139.013930disturbed127719.865675lowland118795.578059upland2701289.270193LBHBFNN289207.169650BONS9140084.716743BTNI33713.160390BTNN

python - 在 Pandas 中从多索引恢复为单索引数据框

NIYEARMONTHdatetime200012000-01-01NaN2000-01-02NaN2000-01-03NaN2000-01-04NaN2000-01-05NaN在上面的数据框中,我有一个由列组成的多级索引:names=[u'YEAR',u'MONTH',u'datetime']如何恢复到以“datetime”为索引、以“YEAR”和“MONTH”为普通列的数据框? 最佳答案 通过level=[0,1]来重置这些级别:dist_df=dist_df.reset_index(level=[0,1])In[28]:df.

python - 具有多索引列的 Pandas 数据框 - 合并级别

我有一个数据框,grouped,多索引列如下:importpandasaspdcodes=["one","two","three"];colours=["black","white"];textures=["soft","hard"];N=100#lengthofthedataframedf=pd.DataFrame({'id':range(1,N+1),'weeks_elapsed':[random.choice(range(1,25))foriinrange(1,N+1)],'code':[random.choice(codes)foriinrange(1,N+1)],'colou

python - 如何使用索引迭代 Pandas 多索引数据帧

我有一个看起来像这样的数据框df。日期和时间是2个多级索引observation1observation2dateTime2012-11-029:15:0079.3736682249:16:00130.8413164772012-11-039:15:0045.3128148359:16:00123.7769466239:17:00153.766466249:18:00463.2769466269:19:00663.1769346229:20:00763.773336212012-11-049:15:00115.4494371229:16:00123.7769465559:17:0015

python - Pandas 多索引绘图

在DataFrame上执行groupby.sum()后,我在尝试创建我想要的情节时遇到了一些麻烦。importpandasaspdimportnumpyasnpnp.random.seed(365)rows=100data={'Month':np.random.choice(['2014-01','2014-02','2014-03','2014-04'],size=rows),'Code':np.random.choice(['A','B','C'],size=rows),'ColA':np.random.randint(5,125,size=rows),'ColB':np.rand

python - Pandas 中的多索引排序

我在pandasdf中有一个包含多索引列的数据集,我想按特定列中的值进行排序。我曾尝试使用sortindex和sortlevel,但无法获得我正在寻找的结果。我的数据集如下所示:Group1Group2ABCABC110325725691003702035我想按第1组中的C列按降序对所有数据和索引进行排序,因此我的结果如下所示:Group1Group2ABCABC256910011032573702035是否可以使用我的数据所在的结构进行这种排序,或者我应该将Group1交换到索引端? 最佳答案 当按MultiIndex排序时,您需

python - 从多索引 pandas 中选择

我有一个包含“A”和“B”列的多索引数据框。有没有办法通过过滤多索引的一列来选择行而不将索引重置为单列索引?例如。#hasmulti-index(A,B)df#canIdothis?Iknowthisdoesn'tworkbecausetheindexismulti-indexsoIneedtospecifyatupledf.ix[df.A==1] 最佳答案 一种方法是使用get_level_values索引方法:In[11]:dfOut[11]:0AB141252363In[12]:df.iloc[df.index.get_lev