给定这个DataFrame:frompandasimportDataFramearrays=[['bar','bar','baz','baz','foo','foo'],['one','two','one','two','one','two']]tuples=zip(*arrays)index=pd.MultiIndex.from_tuples(tuples,names=['first','second'])df=DataFrame(randn(3,6),index=[1,2,3],columns=index)如何绘制图表:X轴:1、2、3。这三个系列的名字是:bar、baz、foo。
我有一个如下所示的多索引数据框:startgrad1995-961995-9615151996-97662002-03112007-0811我想降低第一级(级别=0)的具体值。在这种情况下,我想删除第一个索引中包含1995-96的所有内容。 最佳答案 pandas.DataFrame.drop将级别作为可选参数df.drop('1995-96',level='start')从v0.18.1开始,它的文档字符串说:"""Signature:df.drop(labels,axis=0,level=None,inplace=False,e
假设我有以下数据框:importpandasaspddf=pd.DataFrame(data={'Status':['green','green','red','blue','red','yellow','black'],'Group':['A','A','B','C','A','B','C'],'City':['Toronto','Montreal','Vancouver','Toronto','Edmonton','Winnipeg','Windsor'],'Sales':[13,6,16,8,4,3,1]})df.drop('Status',axis=1,inplace=True
我有一个看起来像这样的PandasDataFrame:df=pd.DataFrame({'col1':{0:'a',1:'b',2:'c'},'col2':{0:1,1:3,2:5},'col3':{0:2,1:4,2:6},'col4':{0:3,1:6,2:2},'col5':{0:7,1:2,2:3},'col6':{0:2,1:9,2:5},})df.columns=[list('AAAAAA'),list('BBCCDD'),list('EFGHIJ')]ABCDEFGHIJ0a123721b346292c56235我基本上只想melt数据框,以便每个列级别成为一个新列。换句
我经常有一个带有大型多索引的DataFrame,以及一个带有MultiIndex的辅助DataFrame,该MultiIndex是较大索引的子集。辅助数据框通常是某种查找表。我经常想将查找表中的列添加到更大的数据框中。主DataFrame通常非常大,所以我想高效地执行此操作。这是一个虚构的例子,我构造了两个数据帧df1和df2importpandasaspdimportnumpyasnparrays=[['sun','sun','sun','moon','moon','moon','moon','moon'],['summer','winter','winter','summer','
基于thisquestion.df=pandas.DataFrame([[2001,"Jack",77],[2005,"Jack",44],[2001,"Jill",93]],columns=['Year','Name','Value'])YearNameValue02001Jack7712005Jack4422001Jill93ForeachuniqueName,IwouldliketokeeptherowwiththelargestYearvalue.IntheaboveexampleIwouldliketogetthetableYearNameValue02005Jack4412
我要resampleaDataFrame具有包含日期时间列和其他一些键的多索引。数据框看起来像:importpandasaspdfromStringIOimportStringIOcsv=StringIO("""ID,NAME,DATE,VAR11,a,03-JAN-2013,691,a,04-JAN-2013,771,a,05-JAN-2013,752,b,03-JAN-2013,692,b,04-JAN-2013,752,b,05-JAN-2013,72""")df=pd.read_csv(csv,index_col=['DATE','ID'],parse_dates=['DA
我有一个如下所示的数据框我想知道是否存在一种最快的方法来在pandas中创建一个python字典来保存如下数据table={2:[4,5,6,7,8...],4:[1,2,3,4,...]}这里的键是用户ID,值是唯一的日期列表。这可以在核心python的早期完成,但想知道是否有基于pandas或numpy的方法来快速计算。我需要一个快速的解决方案,可以在这个数据框变大时很好地扩展。编辑1:性能所用时间:每个循环14.3毫秒±134微秒(7次运行的平均值±标准偏差,每次100次循环)levels=pd.DataFrame({k:df.index.get_level_values(k)f
根据多索引文档代码,我执行以下操作:arrays=[['bar','bar','baz','baz','foo','foo'],['one','two','one','two','one','two']]tuples=list(zip(*arrays))index=pd.MultiIndex.from_tuples(tuples,names=['first','second'])df2=pd.DataFrame(np.random.randn(3,6),index=['A','B','C'],columns=index)这会产生一个如下所示的数据框:firstbarbazfooseco
我想单独提取“S”的箱子,其中每列(X&Y)>0.5,或多个箱子>0.5*“行数”。在例子中;对于“AR1”,应该只选择bin4,因为“X”和“Y”>0.5(蓝色指示)对于“PO1”,应选择bin1、2、3和4,因为“X”和“Y”>(4*0.5)(黄色指示)。我之前用for循环试过这个,但是没有正常工作;Selectingmultiple(neighboring)rowsconditionallynp.random.seed(0)N=20S=['AR1','PO1']df=pd.DataFrame({'X':np.random.uniform(-1,1,N),'Y':np.random