Python 使用csv按行分组

Python 使用csv按行分组,python,csv,pandas,group-by,aggregate,Python,Csv,Pandas,Group By,Aggregate,我有一个大的CSV文件,我从月份中提取了两列并取消了,需要在数据框中显示结果。月份是整数,例如csv中的一月是1,需要将其转换为字符串 我遇到的问题是设置正确的指数并将月份的数据分组在一起 import pandas as pd data = pd.read_csv('data.csv', encoding='latin-1', usecols=['Month','Cancelled']) grouped = data.groupby(axis=1) 我期待的预期产出大

我有一个大的CSV文件,我从月份中提取了两列并取消了,需要在数据框中显示结果。月份是整数,例如csv中的一月是1,需要将其转换为字符串

我遇到的问题是设置正确的指数并将月份的数据分组在一起

    import pandas as pd
    data = pd.read_csv('data.csv', encoding='latin-1', usecols=['Month','Cancelled'])
    grouped = data.groupby(axis=1)
我期待的预期产出大致如下:

               Cancelled
    January        19891
但我目前收到:

        Month  Cancelled
    0       1          0
    1       1          0
    2       1          0

因为您没有发布行输入数据。让我们来考虑这个快速的例子,只是为了说明如何在大熊猫中生成GROMPUBY值;p> 读取数据并放入数据框后,您可以基于groupby['month']列中的一列对值进行分组,然后对这些值应用函数,包括许多常见值,如平均值、最大值、中值等。例如,您可以使用sum

 df.groupby(['month']).sum()
或者使用聚合传递任何其他函数

df.groupby(['month']).aggregate(numpy.sum)

import pandas as pd
from io import StringIO


data="""month  cancelled
0    1      1
1    1      0
2    0      1
3    1      1
4    0      0
5    1      1
6    1      1
7    2      1
8    2      1
9    1      1"""


df= pd.read_csv(StringIO(data.decode('UTF-8')),delim_whitespace=True )
print df.groupby(['month']).sum()
结果


发布原始输入数据以重现问题,您没有显示整数如何转换为月份作为开始,也没有在任何列上分组,您声明要按月份列分组
       cancelled
month           
0              1
1              5
2              2