属性错误: 'list'对象没有属性'iloc'



如您在我的程序中所见:我试图给我的数据添加噪音

from tkinter import messagebox, filedialog
import pandas as pd
from sklearn.svm import SVC
RSB_db = 10
Noised_Data = []
"""INPUT DATA
"""
Path_DataBase = filedialog.askopenfilename()
All_Data = pd.read_csv(Path_DataBase, header=None)
Shape = All_Data.shape
n_line = Shape[0]
n_column = Shape[1]
Data = All_Data.iloc[0:, :Shape[1] - 2]  # Extract Data

"""ADD Noise
"""
if RSB_db != 0:
for i_line in range(n_line):
print(i_line)
White_noise_training = (max(Data.iloc[i_line, :]) * 10**(-RSB_db / 20)) * round(1, n_column)
Noised_Data.iloc[i_line, :] = Data.iloc[i_line, :] + White_noise_training

然后我得到了下面的错误:-----------------------

Traceback (most recent call last):
File "C:/Users/pedro.Grisard/Desktop/ocsvm/main.py", line 25, in <module>
Noised_Data.iloc[i_line] = Data.iloc[i_line, :] + White_noise_training
AttributeError: 'list' object has no attribute 'iloc' ```

如果您想将修改后的数据存储在另一个数据帧Noised_Data中,可以使用:

RSB_db = 10
##Noised_Data = []                                        # <===  remove this line
"""INPUT DATA
"""
Path_DataBase = filedialog.askopenfilename()
All_Data = pd.read_csv(Path_DataBase, header=None)
Shape = All_Data.shape
n_line = Shape[0]
n_column = Shape[1]
Data = All_Data.iloc[0:, :Shape[1] - 2]  # Extract Data
Noised_Data = Data.copy()                                 # <=== Add this line

"""ADD Noise
"""
if RSB_db != 0:
for i_line in range(n_line):
print(i_line)
White_noise_training = (max(Data.iloc[i_line, :]) * 10**(-RSB_db / 20)) * round(1, n_column)
Noised_Data.iloc[i_line, :] = Data.iloc[i_line, :] + White_noise_training

在您的原始代码中,Noised_Data被定义为一个空列表,而不是一个数据帧。因此,它不具有用于数据帧的属性iloc。如果您想将修改后的数据存储在另一个数据帧中,您可以在处理之前复制它,就像上面修改过的代码一样。

最新更新