2024-05-29 02:09:56 发布
网友
df = pd.DataFrame([[1,2,3,1,5], [2,3,4,4,6], [7,2,2,2,5], [21,3,4,3,6]], index=[1,2,3,4], columns=list('ABCDE'))
df的结果值
我怎么知道哪一个数字在每一行出现最多?在
例如:
row 1: 1 appears two times row 2: 4 appears two times row 3: 2 appears three times
等等。。。。在
for idx, i in df.iterrows(): l = list(i) list_of_counts = [l.count(x) for x in l] m = max(list_of_counts) print ("row " + str(idx) + ":" + str(l[list_of_counts.index(m)]) +" appears " + str(m) +" times")
1:1出现2次
第2:4行出现2次
第3:2行出现3次
第4:3行出现2次
您可以使用^{}和^{}来获取出现的值和计数,然后^{}将它们连接起来:
value = df.apply(lambda x: x.value_counts().index[0], axis=1) count = df.apply(lambda x: x.value_counts().iloc[0], axis=1) out = pd.concat([value, count], axis=1).reset_index() out.columns = ['row_num', 'val', 'appearing'] out['row_num'] = 'row ' + out['row_num'].astype(str) + ':' out['appearing'] = 'appears ' + out['appearing'].astype(str) + ' times' In [64]: out Out[64]: row_num val appearing 0 row 1: 1 appears 2 times 1 row 2: 4 appears 2 times 2 row 3: 2 appears 3 times 3 row 4: 3 appears 2 times
1:1出现2次
第2:4行出现2次
第3:2行出现3次
第4:3行出现2次
您可以使用^{} 和^{} 来获取出现的值和计数,然后^{} 将它们连接起来:
相关问题 更多 >
编程相关推荐