我试着根据年份按不同的列分组,只申请同一年,最后将结果存储在.csv文件中。你知道吗
我的数据和代码是:
ISO3 Income_Cat_1980 Income_Cat_1985 DWWC1980 DWWC1985
AFG L LM 5 10
AGO LM H 15 25
ALB LM UM 30 40
ARE H H 40 50
for i in range (1980,1990,5):
df=pd.DataFrame(pd.read_csv("mydata.csv"))
df=df.groupby("Income_Cat_"+str(i)).sum()
print df
df.to_csv('country-surplus'+str(i)+'.csv',index="Income_Cat_"+str(i))
我的代码结果是:
Income_Cat_1980 DWWC1980 DWWC1985
H 40 50
L 5 10
LM 45 65
Income_Cat_1985 DWWC1980 DWWC1985
H 55 75
LM 5 10
UM 30 40
并将输出存储在不同的.csv
文件中,但我需要基于同一年Income_Cat
计算DWWC1980
和DWWC1985
的总和,因此结果应该是:
Income_Cat DWWC1980 DWWC1985
H 40 75
L 5 0
LM 45 10
UM 0 40
并将输出存储在一个.csv
文件中。你知道吗
我猜你需要这个。你知道吗
输入:
使用以下代码
输出
说明:
pd.concat([list of series],1)
沿着索引连接pd.Series
。如果一个pd.Series
(列名为series1
)没有另一个的索引i
,则结果数据帧中的单元格将获得值NaN
,因此:结果
NaN
。因此我们使用fillna(0)
用零填充NaN
。转换为整数是获得所需数据帧的最后一步如果我理解这个问题的话,这应该会产生期望的结果
您可以将循环中的第一行替换为:
代码应如下所示:
产出和你描述的不完全一样,因为它的指数包括了所有6个收入类别。我不明白你为什么只需要4个,但我希望这段话对你有帮助。你知道吗
相关问题 更多 >
编程相关推荐