数据框:
df = pd.DataFrame({'A': ['cust1', 'cust1', 'cust2', 'cust1',
'cust2', 'cust1', 'cust2', 'cust2','cust2','cust1'],
'B': ['true', 'true', 'true', 'false',
'false', 'false', 'false', 'true','false','true']})
输出:['cust2']
最佳答案
首先获取 crosstab
的计数然后使用 boolean indexing
按列过滤 index
值,更大则使用 Series.gt
:
df1 = pd.crosstab(df['A'], df['B'])
print (df1)
B false true
A
cust1 2 3
cust2 3 2
c = df1.index[df1['false'].gt(df1['true'])].tolist()
#if True, False are boolean
#c = df1.index[df1[False].gt(df1[True])].tolist()
print (c)
['cust2']]
关于pandas - 我希望数据框中存在的客户的虚假值(value)多于真实值(value)。有关如何实现这一目标的任何建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60881404/