Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.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 如何找出最大值在大熊猫中出现的次数?_Python_Pandas_Dataframe_Max - Fatal编程技术网

Python 如何找出最大值在大熊猫中出现的次数?

Python 如何找出最大值在大熊猫中出现的次数?,python,pandas,dataframe,max,Python,Pandas,Dataframe,Max,我想知道如何解决熊猫的以下问题: 我有一个数据框,其中有许多行具有不同的值,我想了解每行出现最高值的频率。我使用了df2['MAX_Value']=df2.MAX(axis=1)来获得每行的最高值 这是我的数据帧的一个示例: Col1 Col2 Col3 Col4 Col5 Col6 MAX_Value 0 5 6 6 6 3 6 谢谢大家! 与“按行计算”和“按行计算总和”一起使用: max_val = df2.max(axis=1) count_m

我想知道如何解决熊猫的以下问题:

我有一个数据框,其中有许多行具有不同的值,我想了解每行出现最高值的频率。我使用了df2['MAX_Value']=df2.MAX(axis=1)来获得每行的最高值

这是我的数据帧的一个示例:

Col1 Col2 Col3 Col4 Col5 Col6 MAX_Value 
0      5   6    6    6    3     6
谢谢大家!

与“按行计算”和“按行计算总和”一起使用:

max_val = df2.max(axis=1)
count_max = df2.eq(max_val, axis=0).sum(axis=1)
为了提高性能,可以使用
numpy

arr = df2.values
max_val = arr.max(axis=1)
count_max = (arr == max_val[:, None]).sum(axis=1)

详细信息

print (df2.eq(max_val, axis=0))
    Col1   Col2  Col3  Col4  Col5   Col6
0  False  False  True  True  True  False

如果我理解你的任务是正确的:

因为您已经有了列MAX_值,所以可以执行以下操作:

df2.MAX_value.value_counts()

让我知道这是否是您要找的!:)

您也可以使用一个简单的groupby:

df2.groupby('MAX_Value').Col1.count()

预期产量是多少?新列由
3
填写?或者是带有
1
的系列,因为
MAX\u value
中只有一个值
6
?是的,这是预期的输出,我没有得到每行出现最高值的次数(3)!!:-)好的,所以需要
df2.MAX\u value.value\u counts()
?不,我用了你的第一个建议df=df2.assign(MAX\u value=MAX\u val,No=count\u MAX)print(df)-效果很好!好吧,我有点困惑。如果我的答案有帮助,别忘了——点击答案旁边的复选标记,将其从灰色变为填充。谢谢
df2.groupby('MAX_Value').Col1.count()