使用循环将数据帧输出到csv

时间:2013-03-18 19:49:45

标签: python-2.7 pandas

我有一个从数据框和数据框构建的组。试图理解为什么这不起作用:

for i in range(1,12):
  out1=df.ix['group%s'% i]
  out1.to_csv('group%s.csv' % i)
  out1.pl.describe()

group_i的一个例子是: (a,b包含花车)

group1=df["ptdelta"][a & b]
a=df["ptdelta"]>=0
b=df["ptdelta"]<5 

回溯给出KeyError:group1(意思是第一次尝试)

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-87-11399ea315df> in <module>()
      6 '''
      7 for i in range(1,12):
----> 8   out1=df.ix['group%s'% i]
      9   out1.to_csv('group%s.csv' %i)
     10   out1.pl.describe()

 C:\Python27\lib\site-packages\pandas\core\indexing.pyc in __getitem__(self, key)
     32             return self._getitem_tuple(key)
     33         else:
 ---> 34             return self._getitem_axis(key, axis=0)
     35 
     36     def _get_label(self, label, axis=0):

C:\Python27\lib\site-packages\pandas\core\indexing.pyc in _getitem_axis(self, key, axis)
    343                     return self._get_loc(key, axis=0)
    344 
--> 345             return self._get_label(idx, axis=0)
    346         else:
    347             labels = self.obj._get_axis(axis)

1 个答案:

答案 0 :(得分:0)

您正尝试使用字符串值'group'进行索引,该值不是数据帧中的有效索引。如果列表中已有多个组,并且每个组都是具有正确大小索引的系列,则可以尝试:

i = 1
for group in groups:
    out1=df.ix[group]
    out1.to_csv('group%s.csv' % i)
    out1.pl.describe()
    i += 1