**import pandas as pd
from sklearn.decomposition import PCA
from matplotlib import pyplot as plt
from sklearn.preprocessing import StandardScaler
from sklearn.impute import SimpleImputer
# df = pd.read_csv("label_0_uab删除了空值的数据1005&剔除不正常电压配变.csv")
# Load data from CSV file
data = pd.read_csv("label_0_uab删除了空值的数据1005&剔除不正常电压配变.csv").iloc[:,3:] #engine='openpyxl'
# 创建插补器对象,将缺失值填充为0
imputer = SimpleImputer(strategy='constant', fill_value=0)
# 使用插补器填充缺失值
data_scaled_filled = imputer.fit_transform(data)
scaler = StandardScaler()
data_scaled = scaler.fit_transform(data_scaled_filled)**
上面的程序是一部分,整个程序运行起来一点问题没有,但是当尝试用控制台单独运行pd.read_csv()这条语句时,不管怎样都会报错,错误截图如下
因为你用控制台运行,那么你的路径就变成控制台的执行路径,而你文件的路径用的相关路径,这就导致取不到文件,所以报错了,这儿你可以在文件路径这用绝对路径
引用chatgpt部分指引作答:
如果在 PyCharm 控制台中执行程序中的某一条语句时报错,可以尝试以下步骤:
1、确保所需库已经正确安装:检查是否在 PyCharm 中正确地安装了 pandas、sklearn 和 matplotlib 库。
2、确认环境变量正确配置:确保Python控制台使用的Python解释器与项目中引用的库相同。可以在 PyCharm 中通过 Project Interpreter 查看和更改虚拟环境设置,以确保 Python 解释器正确匹配所需库。
3、清除缓存并重启 Pycharm:有时候缓存文件可能会损坏导致问题,可以尝试清除缓存文件夹(如Windows系统下的Cache)或重启IDE来重新加载相关文件和库,从而解决报错问题。
4、检查文件路径是否正确:确认程序读取数据文件的路径正确,并且文件确实存在于指定路径下。
如果报错信息中显示找不到文件,那么可能是以下原因导致的:
1、文件路径错误:请确保文件路径输入正确。可以尝试使用绝对路径或在程序中使用 os.path 模块获取文件的绝对路径,这样更容易避免因为相对路径不一致而导致无法找到文件。
2、权限问题:在某些情况下,由于权限限制,用户无法访问或执行某些文件。请确认你有足够的访问权限读取该文件。
3、文件不存在:请确定所需文件还存在于预期的位置,并且没有被误删除或移动到其他位置。可以尝试在操作系统中手动打开该文件以确认它是否存在。
4、文件类型错误:请确认文件格式和文件名是否正确。例如,如果你想从Excel文件中读取数据,则需要使用Pandas中的read_excel函数而非read_csv函数。
5、PyCharm设置问题:在Pycharm IDE中,有时为了防止出现路径对照的问题,需要将PyCharm Projects窗口中选定要打开的整个工程主目录作为根目录。如果不想调整项目结构,请在 File -> Settings -> Project Structure 中把文件的选择方式改为 Absolute Path即可(但是注意,这种方式会破坏原先的相对路径)。
如果以上方法仍然未能解决问题,建议查看控制台中详细的错误提示并调试代码。
import pandas as pd
#数据切分库是sklearn.model_selection
from sklearn.model_selection import train_test_split
if __name__ == "__main__":
data = pd.read_csv(r'C:\Users\Administrator\Desktop\titanic.csv')
#将样本分为x表示特征,y表示类别
x = data.iloc[:,:-1]
y = data.iloc[:,-1]
#测试集为30%,训练集为70%
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.3,random_state=0)
print(len(x_train))
print(len(x_test))
res_train = pd.concat([x_train, y_train], axis=1, ignore_index=True)
res_test = pd.concat([x_test, y_test], axis=1, ignore_index=True)
print(len(res_train))
print(len(res_test))
res_train.columns = data.columns
res_test.columns = data.columns res_train.to_csv(r'C:\Users\Administrator\Desktop\titanic_train.csv', index=False, header=True) res_test.to_csv(r'C:\Users\Administrator\Desktop\titanic_test.csv', index=False, header=True)
#输出训练集与测试集分割结果。