python - 如何在 Python 中使用 While 循环分析 CSV 文件数据
问题描述
我试图弄清楚如何在 Python 中启动一个遍历 csv 文件的循环。我相信这将是一个while循环(不能使用 pandas 来完成这项任务),但我不知道如何开始。该文件来自 Kaggle - 分析来自 Reddit 的页面试图获得以下信息:
所有帖子的平均评论数 所有帖子的平均分数 最高分是多少以及该帖子的标题 最低分是多少以及该帖子的标题 评论最多的帖子是什么以及其标题和评论数
这是我到目前为止导入文件的内容:
import csv #import csv file reddit_vm.csv
def analyze(entries):
print(f'first entry: {entries[0]}')
with open("reddit_vm.csv", "r", encoding='UTF-8', errors="ignore") as input:
entries = [(e['id'], int(e['score']), int(e['comms_num']), e['title']) for e in csv.DictReader(input)]
avgScore = analyze(entries)
这就是我认为我需要做的:
伪代码:
需要一个变量来控制循环读取行while循环
平均所有帖子的评论数
所有帖子的平均分
最高分的最大变量和打印标题最低分的最小变量
大多数评论
解决方案
我强烈建议您为此使用熊猫。这些是基本操作:
import pandas as pd
df = pd.read_csv("filename.csv") #read csv file
print(df['comms_num'].mean()) # print mean number of comments, assuming they are integers
print(df['score'].mean()) # print score mean
df.sort_values('score', ascending=False).head(10) #sort the dataframe by score and display the first 10 rows