Python的TypeError:str和in

2024-09-29 19:23:59 发布

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

我在编译代码时收到了这个错误。我从xlsx文件中提取数据并创建了一个dataframe,用0替换空值,将所有的值转换成sting以便能够进行散点图,当我试图显示线性回归的结果时,我收到了这个错误。在

 TypeError: unsupported operand type(s) for /: 'str' and 'int'

这是我迄今为止所做的代码

^{pr2}$

注意到我是个初学者。最后一行导致错误 这是数据帧的第一列COP COR和PAUS,我尝试对其应用一些线性回归:

 0            PP   SP000045856 COP COR  SP000045856 PAUS   
 1          201723                    0              2000   
 2          201724                12560             40060   
 3          201725               -17760             15040   
 4          201726                -5840             16960   
 5          201727                10600             4480   
 6          201728                    0             14700   
 7          201729                 4760             46820  

。。。27号线至


Tags: 文件数据代码dataframe错误线性xlsx空值
1条回答
网友
1楼 · 发布于 2024-09-29 19:23:59

Excel文件中的数据在第一行有标题信息,因此设置header=None是数据中有字符串值而不是将其作为列名的原因。
如果删除标题kwarg

xlsxfile = pd.ExcelFile("C:\\Users\\AchourAh\\Desktop\\PL14_IPC_03_09_2018_SP_Level.xlsx") 
data = xlsxfile.parse('Sheet1', index_col = None)

一切正常,你应该得到这样的数据帧:

^{pr2}$

但是,您可以直接使用pandas的read_excel-函数来完成相同的任务,甚至可以缩短一点:

data = pd.read_excel('C:\\Users\\AchourAh\\Desktop\\PL14_IPC_03_09_2018_SP_Level.xlsx', 'Sheet1')

然后可以绘制散点图,例如

data.plot('SP000045856 COP COR', 'SP000045856 PAUS', 'scatter')

或者也许可读性更好但完全相同:

data.plot.scatter('SP000045856 COP COR', 'SP000045856 PAUS')

线性回归可以这样做

slope, intercept, r_value, p_value, std_err = stats.linregress(data['SP000045856 COP COR'], data['SP000045856 PAUS'])

相关问题 更多 >

    热门问题