一、原始代码以及Bug展示
data = pd.read_excel("./data/merged_data.xlsx")
data = torch.Tensor(data)
二、分析说明
1. 直观的翻译:
这个错误通常发生在使用函数或操作需要传递一个具有确定形状的参数,而传递的参数的形状无法确定时。
2. 深入分析:
在Python中常用的DataFrame是Pandas中的数据结构,它是一个二维表类型的数据结构,具有行和列。
从错误中可以看出,DataFrame 对象的大小无法被确定。
由于传递到函数中的参数值的类型不正确,或者DataFrame 对象本身的形状不确定(比如可能为空)。
如果参数值的类型不正确,可以尝试强制将其转换为正确的类型,比如 numpy array 或列表等等。
如果 DataFrame 对象本身的形状不确定导致错误,可以尝试检查 DataFrame 是否为空,
或者它的行和列是否被正确解析。
三、解决办法
转化成数值类型
1.方法1
data = pd.read_excel("./data/merged_data.xlsx")
data = data.values
data = torch.Tensor(data)
2.方法2
data = pd.read_excel("./data/merged_data.xlsx")
data = np.arrary(data)
data = torch.Tensor(data)