我需要根据Pandas数据框中另一列的值设置一列的值。这是逻辑:ifdf['c1']=='Value':df['c2']=10else:df['c2']=df['c3']我无法让它做我想做的事,即简单地创建一个具有新值的列(或更改现有列的值:任何一个都适合我)。如果我尝试运行上面的代码,或者如果我将其编写为函数并使用apply方法,我会得到以下结果:ValueError:ThetruthvalueofaSeriesisambiguous.Usea.empty,a.bool(),a.item(),a.any()ora.all(). 最佳答案
我需要根据Pandas数据框中另一列的值设置一列的值。这是逻辑:ifdf['c1']=='Value':df['c2']=10else:df['c2']=df['c3']我无法让它做我想做的事,即简单地创建一个具有新值的列(或更改现有列的值:任何一个都适合我)。如果我尝试运行上面的代码,或者如果我将其编写为函数并使用apply方法,我会得到以下结果:ValueError:ThetruthvalueofaSeriesisambiguous.Usea.empty,a.bool(),a.item(),a.any()ora.all(). 最佳答案
我想在我的数据中标记一些分位数,对于DataFrame的每一行,我希望在一个名为例如的新列中的条目"xtile"来保存这个值。例如,假设我创建一个这样的数据框:importpandas,numpyasnpdfrm=pandas.DataFrame({'A':np.random.rand(100),'B':(50+np.random.randn(100)),'C':np.random.randint(low=0,high=3,size=(100,))})假设我编写了自己的函数来计算数组中每个元素的五分位数。我对此有自己的功能,但例如只需引用scipy.stats.mstats.mquan
我想在我的数据中标记一些分位数,对于DataFrame的每一行,我希望在一个名为例如的新列中的条目"xtile"来保存这个值。例如,假设我创建一个这样的数据框:importpandas,numpyasnpdfrm=pandas.DataFrame({'A':np.random.rand(100),'B':(50+np.random.randn(100)),'C':np.random.randint(low=0,high=3,size=(100,))})假设我编写了自己的函数来计算数组中每个元素的五分位数。我对此有自己的功能,但例如只需引用scipy.stats.mstats.mquan
这个问题在这里已经有了答案:selectingacrossmultiplecolumnswithpandas(3个回答)关闭9年前。尽管至少有twogood关于如何在Python的pandas库中索引DataFrame的教程,我仍然无法找到一种优雅的方式来对多个列进行SELECTing。>>>d=pd.DataFrame({'x':[1,2,3,4,5],'y':[4,5,6,7,8]})>>>dxy014125236347458>>>d[d['x']>2]#Thisworksfinexy236347458>>>d[d['x']>2&d['y']>7]#Ihadexpectedthis
这个问题在这里已经有了答案:selectingacrossmultiplecolumnswithpandas(3个回答)关闭9年前。尽管至少有twogood关于如何在Python的pandas库中索引DataFrame的教程,我仍然无法找到一种优雅的方式来对多个列进行SELECTing。>>>d=pd.DataFrame({'x':[1,2,3,4,5],'y':[4,5,6,7,8]})>>>dxy014125236347458>>>d[d['x']>2]#Thisworksfinexy236347458>>>d[d['x']>2&d['y']>7]#Ihadexpectedthis
我有一个像这样的数据框df:ABCD1blueredsquareNaN2orangeyellowcircleNaN3blackgreycircleNaN我想在满足3个条件时更新D列。例如:df.ix[np.logical_and(df.A=='blue',df.B=='red',df.C=='square'),['D']]='succeed'它适用于前两个条件,但它不适用于第三个条件,因此:df.ix[np.logical_and(df.A=='blue',df.B=='red',df.C=='triangle'),['D']]='succeed'结果完全相同:ABCD1bluered
我有一个像这样的数据框df:ABCD1blueredsquareNaN2orangeyellowcircleNaN3blackgreycircleNaN我想在满足3个条件时更新D列。例如:df.ix[np.logical_and(df.A=='blue',df.B=='red',df.C=='square'),['D']]='succeed'它适用于前两个条件,但它不适用于第三个条件,因此:df.ix[np.logical_and(df.A=='blue',df.B=='red',df.C=='triangle'),['D']]='succeed'结果完全相同:ABCD1bluered
这个问题在这里已经有了答案:HowcanIpivotadataframe?(5个回答)关闭3年前.我有以下数据框:YearCountrymedalnoofmedals1896AfghanistanGold51896AfghanistanSilver41896AfghanistanBronze31896AlgeriaGold11896AlgeriaSilver21896AlgeriaBronze3我想要这样。YearCountryGoldSilverBronze1896Afghanistan5431896Algeria123Stack/Unstack似乎不起作用。
这个问题在这里已经有了答案:HowcanIpivotadataframe?(5个回答)关闭3年前.我有以下数据框:YearCountrymedalnoofmedals1896AfghanistanGold51896AfghanistanSilver41896AfghanistanBronze31896AlgeriaGold11896AlgeriaSilver21896AlgeriaBronze3我想要这样。YearCountryGoldSilverBronze1896Afghanistan5431896Algeria123Stack/Unstack似乎不起作用。