请问这个问题的基本性质,但是我已经花了几个小时寻找答案,而且它们似乎都使我需要的东西变得太复杂了。
我有一个如下数据框:-
max-height
我想做的是搜索所有的'food_item_ *'列(因此在本例中为3),并返回给我一个最常见的值,例如在所有3列中均为“咖啡”。
有人可以推荐最好的方法吗?
非常感谢
md
答案 0 :(得分:3)
使用DataFrame.filter
,通过DataFrame.stack
进行整形,然后使用Series.mode
,最后使用Series.iat
按位置选择第一个值:
$("#date-input").datepicker({
numberOfMonths: 2
});
另一个想法是使用Series.value_counts
并选择索引的第一个值:
a = df.filter(like='food_item_').stack().mode().iat[0]
print (a)
coffee
答案 1 :(得分:2)
您也可以melt
的列和value_counts
:
print (df.melt(id_vars="id", value_vars=df.columns[1:])["value"].value_counts())
coffee 5
bread 2
nuts 1
potatoes 1
cake 1
beer 1
fish 1