“float”对象不可下标。循环并保存到csv错误

2024-10-04 11:25:10 发布

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

我想循环一些列表对象,并将结果保存到.csv文件中

当我运行代码时:

    for i in dfxz:
           meanVal = np.mean(dfxz[i])
           varianceVal = np.var(dfxz[i])
           skewVal = skew(dfxz[i])
           kurtVal = kurtosis(dfxz[i])
       
           try:
               csv = open('tabel.csv', 'a')
               csv.write(
                   str(meanVal) + ',' + str(varianceVal) + ',' + str(skewVal[0]) + ',' + str(kurtVal[0]) + ',' + '1' + '\n'
            )
           except IOError as error:
               print('failed to print', error)
        
           csv.close()

我收到以下错误消息:

TypeError                                 Traceback (most recent call last) <ipython-input-12-4c672d5a979c> in <module>
      8         csv = open('tabel.csv', 'a')
      9         csv.write(
---> 10             str(meanVal) + ',' + str(varianceVal) + ',' + str(skewVal[0]) + ',' + str(kurtVal[0]) + ',' + '1' + '\n'
     11         )
     12     except IOError as error:

TypeError: 'float' object is not subscriptable

我已经将我的pandas.DataFramefloat转换为int值,但没有任何效果

我做错了什么


Tags: csvinnperroropenwriteexceptstr
1条回答
网友
1楼 · 发布于 2024-10-04 11:25:10

在这里:

meanVal = np.mean(dfxz[i])
varianceVal = np.var(dfxz[i])
skewVal = skew(dfxz[i])
kurtVal = kurtosis(dfxz[i])

您可以从列表中提取值,如下所示:

... str(skewVal[0]) ...

在这里:

... str(kurtVal[0]) ...

您试图从value中提取位置0处的值,因此收到上述异常

干杯

相关问题 更多 >