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 19:01:59 浏览: 86
问题出在 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 numpy as np import pandas as pd from sklearn.preprocessing import MinMaxScaler from keras.models import Sequential from keras.layers import Dense, Dropout,LSTM,SimpleRNN,GRU np.random.seed(10) # 指定乱数种子 # 载入Google股价的训练数据集 df_train = pd.read_csv("",index_col="Date",parse_dates=True) df_train这个代码怎么载入数据
在代码中的`pd.read_csv()`函数中,`""`中需要填写数据集文件的路径和文件名(包括文件格式后缀)。`index_col`参数用于指定读取数据集时使用哪一列作为索引列,`parse_dates=True`参数用于将日期数据解析为日期格式。因此,你需要将数据集文件的路径和文件名填写到函数中,例如:
```
df_train = pd.read_csv("path/to/your/file.csv", index_col="Date", parse_dates=True)
```
注意,如果你的数据集文件不是CSV格式,需要使用对应的读取函数。例如,如果数据集文件是Excel格式,可以使用`pd.read_excel()`函数。
阅读全文