Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.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 For带数据的循环(csv)_Python - Fatal编程技术网

Python For带数据的循环(csv)

Python For带数据的循环(csv),python,Python,我有以下数据: 这一趋势一直在下降 如何找到使用python代码的前20个最常见的平台 我真的迷路了。我想也许在一个for循环中遍历列表,然后逐一计数?但这似乎是错误的。使用熊猫: 比如: import pandas as pd df = pd.read_csv("your_csv_file.csv") top_platforms = df.nlargest(20, "Score")["Platform"] 字典是收集这些信息的好选择: 初始化一个空的dict 对于csv文件中的每一行: 拿

我有以下数据:

这一趋势一直在下降

如何找到使用python代码的前20个最常见的平台

我真的迷路了。我想也许在一个for循环中遍历列表,然后逐一计数?但这似乎是错误的。

使用熊猫:

比如:

import pandas as pd
df = pd.read_csv("your_csv_file.csv")
top_platforms = df.nlargest(20, "Score")["Platform"]

字典是收集这些信息的好选择:

初始化一个空的dict

对于csv文件中的每一行:

  • 拿到平台柱
  • 如果该平台不在dict中,则使用一个计数创建它
  • 否则,如果它已经在dict中,则将其计数增加1

  • 完成后,按计数值对dict进行排序并打印前20个条目。

    我会使用pandas读取csv文件

    import pandas as pd
    from collection import Counter
    df = pd.read_csv('DATA.csv') # read the csv file into a dataframe *df*
    # create counter object containing dictionary
    # invoke the pandas groupby and count methods
    d = Counter(dict(df.groupby(['Platform'])['Platform'].count()))
    
    d
    将是一个计数器对象,其中“包含”一个形式为
    {:}

    您可以获得最常见的
    k
    平台,如下所示:

    k = 20
    d.most_common(k)
    >>> [('<platform1>', count1),
        ('<platform2>', count2),
        ('<platform3>', count3),
        ('<platform4>', count4),
        ....
    
    k=20
    d、 最常见(k)
    >>>[('',count1),
    ('',第2项),
    ('',第3项),
    ('',第4项),
    ....
    
    希望这会有所帮助。在将来,最好看看你的数据的开头(前几行),或者你到目前为止尝试了什么代码,或者你正在使用什么样的数据争用工具