鱼C论坛

 找回密码
 立即注册
查看: 1599|回复: 1

[已解决]请帮我看看为什么报错

[复制链接]
发表于 2020-10-27 20:57:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import pandas as pd
import numpy as np
df = pd.read_excel('dd.xlsx',sheet_name='index+bank')
dw = pd.read_excel('dd.xlsx',sheet_name='Sheet1')

year = 2017
semi = 0 #上下半年
print('现在是',year,'年',semi)
df = df.loc[(df['year'] == year) & (df['semi'] == semi)]#筛选出2007年上半年的数据
row_num = df.shape[0] #求筛选出的行数
col_num = df.shape[1] #求筛选出的列数
for colm in range(4,col_num):#依次输出市场>银行指数>各银行2007年上半年的dd
            print('现在是第',colm+1,'列银行-----')
            stdbox=[] #满5个交易日求平均值和标准差
            for rows in range(0,row_num):  #输出市场指数2007年上半年的dd
                stdbox.append(df.iloc[rows,colm])
                if len(stdbox) == 5:
                    average = np.mean(stdbox)
                    std = np.std(stdbox)
                    dd = (average+1)/std
                    dw.to_excel('dd.xlsx', sheet_name = 'Sheet1',columns = colm,index_label = colm+1)#结果写入sheet1,每换一家银行则另起一列写入。
                    stdbox=[]
dw.save()


报错的内容如下:Traceback (most recent call last):
  File "C:\Users\swift\Desktop\systemic_risk\code\计算dd.py", line 21, in <module>
    dw.to_excel('dd.xlsx', sheet_name = 'Sheet1',columns = colm,index_label = colm+1)#结果写入sheet1,每换一家银行则另起一列写入。
  File "C:\Users\swift\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\core\generic.py", line 2015, in to_excel
    formatter = ExcelFormatter(
  File "C:\Users\swift\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\io\formats\excel.py", line 400, in __init__
    if not len(Index(cols) & df.columns):
  File "C:\Users\swift\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\core\indexes\base.py", line 415, in __new__
    raise cls._scalar_data_error(data)
TypeError: Index(...) must be called with a collection of some kind, 4 was passed
最佳答案
2020-10-27 21:07:47
index_label : 字符串或序列,默认为None。
如果需要,可以使用索引列的列标签。如果没有给出,标题和索引为true,则使用索引名称。如果数据文件使用多索引,则需使用序列。、

TypeError: Index(...) must be called with a collection of some kind, 4 was passed看这句话的意思,应该是这个参数不对吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-27 21:07:47 | 显示全部楼层    本楼为最佳答案   
index_label : 字符串或序列,默认为None。
如果需要,可以使用索引列的列标签。如果没有给出,标题和索引为true,则使用索引名称。如果数据文件使用多索引,则需使用序列。、

TypeError: Index(...) must be called with a collection of some kind, 4 was passed看这句话的意思,应该是这个参数不对吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-18 04:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表