如何在csv列中找到最频繁的字符串值并返回它?(Python)



(不允许使用熊猫)

我是python的新手,正在努力解决这个问题。我想创建一个函数。我有一个CSV文件(称为personal_info.csv)与一堆不同的列(full_name, weight_b, height_c等)。我试图循环通过列称为height_c,并返回最频繁的数字。更多信息:所述列的范围为0-10,尽管有些数字可能不会出现。这些数字存储为字符串(例如:'4'),我试图将值作为字符串返回。如果出现次数最多的数字有任何关系,我只想返回第一个出现的数字。

以下是csv文件中的一些数据:

height_c

我建议将csv文件加载到Pandas数据框架中:

import pandas as pd
df = pd.read_csv('file.csv')

那么你可以很容易地在' hight_m '列中获得最常见的值:

df['heigt_m'].value_counts().idxmax()

编辑:在不使用pandas的情况下,我将打开并存储所有'height_c'值,然后计算最常见的值:

import csv
height_c = []
with open('file.csv', mode='r') as csv_file:
csv_reader = csv.DictReader(csv_file)
for row in csv_reader:
height_c.append(row['height_c'])

most_frequent_height_c = max(set(height_c), key = height_c.count)
print(most_frequent_height_c)
2

其中file.csv包含

file_name,weight_b,height_c
john smith,74,2
rachel lamb,32,5
adam lee,12,2
mackenzie tre,26,2
abby wallace,79,1
karen brown,46,7
harry wright,73,9
madi bear,53,4

相关内容

  • 没有找到相关文章

最新更新