草庐IT

python - 如何在 Pandas 中创建多索引

问题有两个问题看起来很相似,但它们不是同一个问题:here和here.他们都调用了GroupBy的方法,例如count()或aggregate(),我知道它返回一个DataFrame。我要问的是如何将GroupBy(classpandas.core.groupby.DataFrameGroupBy)对象本身转换为DataFrame。我将在下面说明。例子构造一个示例DataFrame如下。data_list=[]fornamein["sasha","asa"]:fortakein["one","two"]:row={"name":name,"take":take,"score":nump

python - 如何在 Pandas 中使用具有多索引的 map ?

我有一个包含各种基因组位置数据的数据表。这些位置表示为3元组('chromosome'、'srand'、position),我已将其转换为多索引。我的目标是查找有关每个位置的各种信息并将其添加到表中(例如基因名称等)我可以使用pybedtools完成此操作。df=pd.DataFrame(data={'A':range(1,8),'B':range(1,8),'C':range(1,8)},index=pd.MultiIndex.from_tuples([('chrom1','-',1234),('chrom1','+',5678),('chrom1','+',9876),('chro

python - 使用多索引列展平 DataFrame

我想将从数据透视表派生的PandasDataFrame转换为如下所示的行表示形式。这是我所在的地方:importpandasaspdimportnumpyasnpdf=pd.DataFrame({'goods':['a','a','b','b','b'],'stock':[5,10,30,40,10],'category':['c1','c2','c1','c2','c1'],'date':pd.to_datetime(['2014-01-01','2014-02-01','2014-01-06','2014-02-09','2014-03-09'])})#wedon'tcareabo

python - Pandas :在多索引数据框中转换索引类型

你好,有一个多索引数据框:tuples=[('YTA_Q3',1),('YTA_Q3',2),('YTA_Q3',3),('YTA_Q3',4),('YTA_Q3',99),('YTA_Q3',96)]#Indexindex=pd.MultiIndex.from_tuples(tuples,names=['Questions','Values'])#Columnscolumns=pd.MultiIndex.from_tuples([('YTA_Q3','@')],names=['Questions','Values'])#Datadata=[29.014949,5.0260590000

python - 来自另一个数据框的 Pandas 多索引分配

我正在尝试了解pandasMultiIndexDataFrame以及如何为它们分配数据。具体来说,我感兴趣的是分配与另一个较小数据框匹配的整个block。ix=pd.MultiIndex.from_product([['A','B'],['a','b','c','d']])df=pd.DataFrame(index=ix,columns=['1st','2nd','3rd'],dtype=np.float64)df_=pd.DataFrame(index=['a','b','c','d'],columns=['1st','2nd','3rd'],data=np.random.rand(

python - 多索引数据帧的 Pandas 设计注意事项

这个问题的目的是进一步探索MultiIndexdataframes并针对各种任务的最佳方法提出问题。创建数据框importpandasaspddf=pd.DataFrame({'index_date':['12/07/2016','12/07/2016','12/07/2016','12/07/2016','12/07/2016'],'portfolio':['A','B','C','D','E'],'reporting_ccy':['GBP','GBP','GBP','GBP','GBP'],'portfolio_ccy':['JPY','USD','USD','EUR','EUR'

python - 按对象将 pandas 组转换为多索引 Dataframe

如果我有以下数据框>>>df=pd.DataFrame({'Name':['Bob']*3+['Alice']*3,\'Destination':['Athens','Rome']*3,'Length':np.random.randint(1,6,6)})>>>dfDestinationLengthName0Athens3Bob1Rome5Bob2Athens2Bob3Rome1Alice4Athens3Alice5Rome5Alice我可以按名称和目的地进行组合...>>>grouped=df.groupby(['Name','Destination'])>>>fornm,gping

python - 如何在多索引 Pandas 数据框中选择大于某个值的单元格?

尝试1:df[df>1.0]:这将返回NAN中的所有单元格。尝试2:df.loc[df>1.0]:返回KeyError:0df[df['A']>1.0]:这可行-但我想将过滤条件应用于所有列。 最佳答案 如果你想要做的是只选择任何一列满足条件的行,你可以使用DataFrame.any()连同axis=1(进行按行分组)。示例-In[3]:dfOut[3]:ABC012313452314In[6]:df[(df或者,如果您尝试过滤所有列都满足条件的行,请使用.all()代替.any().all示例-In[8]:df=pd.DataFr

python - 按其中一个级别对多索引 Pandas 数据框进行分组?

是否可以通过多索引级别之一对多索引(2级别)Pandas数据框进行分组?我知道的唯一方法是在多索引上重置索引,然后再次设置索引。我确信有更好的方法,我想知道如何做。 最佳答案 是的,使用level参数。看看here.示例:In[26]:sfirstsecondthirdbardooone0.404705two0.577046bazbeeone-1.715002two-1.039268foobopone-0.370647two-1.157892quxbopone-1.344312two0.844885dtype:float64In[2

python - 仅选择多索引 DataFrame 的一个索引

我正在尝试使用多索引DataFrame中的一个索引创建一个新的DataFrame。ABCfirstsecondbarone0.8957170.410835-1.413681two0.8052440.8138501.607920bazone-1.2064120.1320031.024180two2.565646-0.8273170.569605fooone1.431256-0.0764670.875906two1.340309-1.187678-2.211372quxone-1.1702991.1301270.974466two-0.226169-1.436737-2.006747理想情