Python 使用csv按行分组
我有一个大的CSV文件,我从月份中提取了两列并取消了,需要在数据框中显示结果。月份是整数,例如csv中的一月是1,需要将其转换为字符串 我遇到的问题是设置正确的指数并将月份的数据分组在一起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) 我期待的预期产出大
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