Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从csv文件中获取前N个重复出现的值时出现问题_Python_Pandas_Csv_Dataframe - Fatal编程技术网

Python 从csv文件中获取前N个重复出现的值时出现问题

Python 从csv文件中获取前N个重复出现的值时出现问题,python,pandas,csv,dataframe,Python,Pandas,Csv,Dataframe,您好,我的一些python出现了问题。我正在尝试制作一个程序,接收一个csv文件,并告诉我一列中出现频率最高的50个单词。 我的csv文件采用以下格式: ID、城市、州、酒店名称、价格 佐治亚州亚特兰大1号,勒罗亚尔,200 例如,我想浏览一下这个列表,告诉我50个最常见的城市。 我的代码: 我确信我的问题来自我的c=计数器(k),它打印每个城市名称的单个字母,而不是城市本身。所以它会打印('a',2),('d',1),('k',1),('l',1),('O',1),('n',1),而不是告诉我

您好,我的一些python出现了问题。我正在尝试制作一个程序,接收一个csv文件,并告诉我一列中出现频率最高的50个单词。 我的csv文件采用以下格式: ID、城市、州、酒店名称、价格 佐治亚州亚特兰大1号,勒罗亚尔,200

例如,我想浏览一下这个列表,告诉我50个最常见的城市。 我的代码:

我确信我的问题来自我的c=计数器(k),它打印每个城市名称的单个字母,而不是城市本身。所以它会打印('a',2),('d',1),('k',1),('l',1),('O',1),('n',1),而不是告诉我“奥克兰”在我的csv文件中出现了多少次。我如何让它显示整个字符串?
(注意:我知道缩进,我只是在将代码输入堆栈溢出时很糟糕)

如果
pandas
是一个可行的选项,这很简单:

import pandas as pd

# read file
df = pd.read_csv(fin_name)

# return value counts as {city -> count} dictionary
d = df['City'].value_counts().to_dict()

# sort descending, return top 50 most common as list of tuples
d_sorted = sorted(d.items(), key=lambda x: x[1], reverse=True)[:50]

如果我使用pandas,我是否不再需要csv库?难以置信,谢谢!出于好奇,没有办法使用“收藏”库来解决它吗?有,但编码需要更长的时间!从学术角度来看,学习一次是很好的,但之后请相信经过测试的库。我希望我不会晚问,但我该如何解决我们我的程序运行得很好,但当我试图调整它以排除熊猫时,我无法通过计数器输出的字符而不是整个字符串。谢谢
import pandas as pd

# read file
df = pd.read_csv(fin_name)

# return value counts as {city -> count} dictionary
d = df['City'].value_counts().to_dict()

# sort descending, return top 50 most common as list of tuples
d_sorted = sorted(d.items(), key=lambda x: x[1], reverse=True)[:50]