我有一个大型CSV文件,我从(月和已取消)中拉出两列,需要在数据框中显示结果。月份是整数(例如,csv中的1月份为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
答案 0 :(得分:0)
由于您没有发布行输入数据。让我们考虑这个简单的例子来展示如何在pandas中创建groupby值;
在读取数据并放入数据帧后,您可以根据列groupby(['month'])
之一对值进行分组,然后对这些值应用函数,Pandas包含许多常见的值,例如mean() ,max(),median()等:例如,您可以使用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()
<强> RESULT 强>
cancelled
month
0 1
1 5
2 2