import numpy as np
import pandas as pd
from sympy import *
#数据表格
df = pd.read_csv(r'C:/Users/hanhan/PycharmProjects/pythonProject/alldata_new_sx.csv',encoding = 'gbk')
for i in range(len(df)-1):
T_xx = np.array(df['系数1'].iloc[i:i+q])
T_ss = np.array(df['系数2'].iloc[i:i+q])
M = T_xx * T_ss
看代码的话,就是读取csv数据中的两列数据,并进行相乘的时候出错!
不能将序列与非int类型'float'相乘
也就是T_xx或者是T_ss中有非int类型,将他们都打印出来查看:
print('T_xx', T_xx)
print('T_ss', T_ss)
结果:
T_xx [’1584’ ‘1580‘]
T_ss [1513 1520]
我们可以看到T_xx是字符串,然后现在就是需要将字符串转换为int类型:
T_xx = np.array(list(map(int,df['系数1'].iloc[i:i+q])))
分解出来为:
T_xx |
= |
list( |
map(int, T_xx) |
) |
这里的T_xx就是需要转换的字符串数据。
该博客主要讨论在Python中处理CSV数据时遇到的问题。代码尝试读取CSV文件中的两列数据并进行乘法运算,但由于数据类型不匹配(字符串与整数)导致错误。作者发现`T_xx`列包含字符串,需要将其转换为整数类型。解决方案是使用`map`函数将字符串转换为整数后再进行计算。
2233

被折叠的 条评论
为什么被折叠?



