打算把表格里的股票收盘价进行%变化后做相关分析,但显示:unsupported operand type(s) for /: 'str' and 'str'
取出要计算相关系数的数值列操作即可,代码这样写:
import pandas as pd
df=pd.read_csv('stock_sample.csv')
df_corr=df.iloc[:,1:].pct_change().corr()
print(df_corr)
运行结果:
F:\2021\qa\ot2>t1
000001.SZ 000002.SZ 000333.SZ 000568.SZ
000001.SZ 1.000000 0.667544 0.813825 -0.089691
000002.SZ 0.667544 1.000000 0.435863 -0.398698
000333.SZ 0.813825 0.435863 1.000000 0.491358
000568.SZ -0.089691 -0.398698 0.491358 1.000000
如有帮助,请点击采纳。
先把数据格式转成float再操作
不支持字符串和字符串的操作,检查一下代码,或者将类型转为其他类型,int(s)
你数据第一行第一列都是str,你算的时候先把首行首列以外的部分取出来运算在贴回去
用iloc做,记得把切片出来的转成float格式