“float”类型的对象在使用to\u时没有len()

2024-10-03 09:10:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据集中有三列,我正试图将它们另存为STATA dta文件。这是我清理数据后运行的最后三行。在

macro1=macro1.rename(columns={'index':'year', 'Price Index, PCE':'pce','Unemployment Rate':'urate'})
macro1.convert_objects(convert_numeric=True).dtypes
macro1[['year','pce', 'urate]].to_stata('file path\file name.dta', write_index=False)

这些是这些变量的数据类型

^{pr2}$

问题是,当我试图将这些列转换为.dta时,我得到一条错误消息

--------------------------------------------------------------------------- TypeError                                 Traceback (most recent call last) <ipython-input-69-a2069ee823e7> in <module>()
     36 macro1=macro1.rename(columns={'index':'year', 'Price Index, PCE':'pce','Unemployment Rate':'urate'})
     37 macro1.convert_objects(convert_numeric=True).dtypes
---> 38 macro1[['pce']].to_stata('file path\file name.dta', write_index=False)
     39 #macro1

C:\Users\chungk\AppData\Local\Continuum\Anaconda\lib\site-packages\pandas\core\frame.pyc in to_stata(self, fname, convert_dates, write_index, encoding, byteorder, time_stamp, data_label)    1262                             time_stamp=time_stamp, data_label=data_label,    1263                  write_index=write_index)
-> 1264         writer.write_file()    1265     1266     @appender(fmt.docstring_to_string, indents=1)

C:\Users\chungk\AppData\Local\Continuum\Anaconda\lib\site-packages\pandas\io\stata.pyc in write_file(self)    1245         self._write(_pad_bytes("", 5))    1246         if self._convert_dates is None:
-> 1247             self._write_data_nodates()    1248         else:    1249             self._write_data_dates()

C:\Users\chungk\AppData\Local\Continuum\Anaconda\lib\site-packages\pandas\io\stata.pyc in _write_data_nodates(self)    1327                     if var is None or var == np.nan:    1328                         var =
_pad_bytes('', typ)
-> 1329                     if len(var) < typ:    1330                         var = _pad_bytes(var, typ)    1331                     if compat.PY3:

TypeError: object of type 'float' has no len()

问题在于uratepce,因为当我尝试只保存year时,它是有效的。在

我不知道问题出在哪里。任何帮助都将不胜感激。在


Tags: toinselfconvertdataindexvaryear