Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python np内的熊猫群比。在哪里_Python_Pandas_Numpy_Dataframe - Fatal编程技术网

Python np内的熊猫群比。在哪里

Python np内的熊猫群比。在哪里,python,pandas,numpy,dataframe,Python,Pandas,Numpy,Dataframe,我收到以下代码错误: np.where(df['A'].groupby([df['B'],df['B_1']]).sum()>0,1,0) 错误:值错误:操作数无法与形状(2013,)(1353,)()一起广播。 是否可以在np.where内执行pandasgroupby 最好的方法是什么 我想suma列df[a]where列df[B]和df[B_1] excel中的公式: =IF($J3=$C3,IF(SUMIFS($S:$S,$A:$A,$A3,$C:$C,$C3)>0,1,0),“”) p

我收到以下代码错误:

np.where(df['A'].groupby([df['B'],df['B_1']]).sum()>0,1,0)

错误:
值错误:操作数无法与形状(2013,)(1353,)()一起广播。

是否可以在
np.where
内执行pandas
groupby

最好的方法是什么

我想
sum
a列
df[a]
where列
df[B]
df[B_1]

excel中的公式:

=IF($J3=$C3,IF(SUMIFS($S:$S,$A:$A,$A3,$C:$C,$C3)>0,1,0),“”)

python中的公式:


df['C']=np.where(df['B'u 1']==df['B'],np.where(df['company']].groupby([df['company'u id'],df['company'u id.1']]].sum()>0,无)
Excel的
SUMIFS
根据返回值与输入值长度相同的条件(即计算前后)返回内联聚合

为了获得类似的结果,考虑“熊猫”也返回内联聚集,其中返回列与输入列相同长度。单独运行

groupby()
会将记录折叠为返回不同长度值的分组

df['C'] = np.where(df['B_1'] == df['B'], 
                   np.where(df.groupby(['company_id', 'company_id.1'])['competing'].transform('sum') > 0, 1, 0),
                   np.nan)

请添加一些示例数据并期望输出此问题。您的公式和错误显示不同的代码。上面的错误看起来很有道理,但是“python中的公式”会因为形状不匹配而引发错误。看起来您的输出是二进制的。在这种情况下,您不需要
numpy。其中
,而是使用
astype
int。在
np中出现问题时,您似乎还需要
transform
。其中
,请自行查看参数。在本例中,
df['A'].groupby([df['B'],df['B_1']]).sum()>0
。Python首先运行它,然后将它提供给
where
。还要记住,
其中
需要一个numpy数组(或者首先对输入执行
np.asarray()
)。大家好,谢谢你们的回复<代码>转换成功了。请参阅下面的Parfait的答案感谢您的帮助和提示-非常有帮助,并且学到了一些新的东西。@Parfait您能看看我的问题吗[