我有以下代码来解析一些csv数据。不过,关键是最后几行,其余都只是为了显示上下文。基本上,我的数据最终有三列,ID变量LopNr和year应该是整数,但我将整个DataFrame转换为整数以防万一。为什么在导出的csv文件中,LopNr和year列得到".0",而聚合数据的第三列实际上被转换为整数并且没有".0"输出?我原本想认为在
.astype(int)
之后,所有列都会变成整数,并且已经导出到csv文件中,不需要再将它们转换回浮点数。import iopro
from pandas import *
neuro = DataFrame()
for year in xrange(2005,2012):
for month in xrange(1,13):
if year == 2005 and month < 7:
continue
filename = 'Q:\\drugs\\lmed_' + str(year) + '_mon'+ str(month) +'.txt'
adapter = iopro.text_adapter(filename,parser='csv',field_names=True,output='dataframe',delimiter='\t')
monthly = adapter[['LopNr','ATC','TKOST']][:]
monthly['year']=year
neuro = neuro.append(monthly[(monthly.ATC.str.startswith('N')) & (~(monthly.TKOST.isnull()))])
neuro = neuro.groupby(['LopNr','year']).sum()
neuro = neuro.astype(int)
neuro.to_csv('Q:\\drugs\\annual_neuro_costs.csv')