import pandas as pd from sklearn.preprocessing import MinMaxScaler df = pd.read_csv("gy.csv", header=None) df = pd.DataFrame(df) print(df) columns = df.columns.tolist() print(columns) newDataFrame=[] for c in columns: d = df[c] print(c) MAX = d.max() MIN = d.min() newDataFrame[c] = ((d - MIN) / (MAX - MIN)).tolist()
时间: 2024-02-13 20:01:59 浏览: 28
问题出在 newDataFrame=[] 这一行。您将 newDataFrame 初始化为一个空列表,而不是一个空的 DataFrame 对象。因此,在 newDataFrame[c] 中,c 超出了 newDataFrame 列表的索引范围,导致了 IndexError 错误。要解决这个问题,您可以将 newDataFrame 初始化为一个空的 DataFrame 对象,如下所示:
```python
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
df = pd.read_csv("gy.csv", header=None)
df = pd.DataFrame(df)
print(df)
columns = df.columns.tolist()
print(columns)
newDataFrame = pd.DataFrame()
for c in columns:
d = df[c]
print(c)
MAX = d.max()
MIN = d.min()
newDataFrame[c] = ((d - MIN) / (MAX - MIN)).tolist()
```
这样就可以避免 IndexError 错误。请注意,我还将 newDataFrame 定义为 DataFrame 对象,并且在循环中使用 newDataFrame[c] 进行赋值,这样就可以将归一化后的值分配给正确的列。
相关问题
import numpy as np import pandas import pandas as pd import matplotlib from sklearn import naive_bayes from sklearn.preprocessing import MinMaxScaler from sklearn.preprocessing import StandardScaler from sklearn.preprocessing import normalize from sklearn.preprocessing import Binarizer from sklearn.impute import SimpleImputer from sklearn.preprocessing import OneHotEncoder import matplotlib.pyplot as plt from sklearn.metrics import roc_curve, auc from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.metrics import confusion_matrix matplotlib.rc("font", family='Microsoft YaHei') data=pd.read_csv(r'D:\杂货铺\机器学习\银行数据集.csv',header=None)
这段代码导入了一系列的Python库,包括NumPy、Pandas、Matplotlib、scikit-learn等。其中,NumPy是Python科学计算的核心库,Pandas是数据处理的重要库,Matplotlib是绘图库,scikit-learn是机器学习库。接下来,使用Pandas读取一个CSV文件,该文件路径为D:\杂货铺\机器学习\银行数据集.csv,文件没有列名,所以header参数设置为None。
import pandas as pd from sklearn import preprocessing data=pd.read_csv('wine .csv',encoding='gbk') data
这段代码使用了pandas和scikit-learn库来读取一个名为'wine.csv'的数据集,并将其存储在名为'data'的变量中。具体来说,它使用了read_csv函数来读取CSV格式的数据集文件,并指定了文件的编码方式为'gbk'。然后将读取到的数据集存储在'data'变量中。这个数据集可能包含了葡萄酒的化学分析结果,用于预测葡萄酒的种类。