第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從數(shù)據(jù)科學(xué)中的另一種方法調(diào)用方法中定義的屬性(python)

從數(shù)據(jù)科學(xué)中的另一種方法調(diào)用方法中定義的屬性(python)

湖上湖 2023-06-13 19:17:33
我正在學(xué)習(xí)數(shù)據(jù)科學(xué)環(huán)境中的面向?qū)ο缶幊?。我想了解在一個類中編寫相互關(guān)聯(lián)的方法方面的良好做法是什么。當(dāng)我運行我的代碼時:import pandas as pd pd.options.mode.chained_assignment = None  class MyData:    def __init__(self, file_path):        self.file_path = file_pathdef prepper_fun(self):    '''Reads in an excel sheet, gets rid of missing values and sets datatype to numerical'''    df = pd.read_excel(self.file_path)     df = df.dropna()                        df = df.apply(pd.to_numeric)     self.df = df    return(df)def quality_fun(self):   '''Checks if any value in any column is more than 10. If it is, the value is replaced with   a warning 'check the original data value'.'''    for col in self.df.columns:        for row in self.df.index:                                                         if self.df[col][row] > 10:                       self.df[col][row] = str('check original data value')     return(self.df) data = MyData('https://archive.ics.uci.edu/ml/machine-learning-databases/00429/Cryotherapy.xlsx')print(data.prepper_fun())print(data.quality_fun())我得到以下輸出(由于空間限制,只顯示了部分輸出):     sex  age   Time  0     1   35  12.00             1     1   29   7.00               2     1   50   8.00                3     1   32  11.75                4     1   67   9.25                         ..  ...  ...    ...            sex                        age                       Time 0     1  check original data value  check original data value                  1     1  check original data value                          7                  2     1  check original data value                          8                  3     1  check original data value  check original data value               4     1  check original data value                       9.25 ..  ...                        ...                        ...我對每種方法生成的輸出感到滿意。print(data.quality_fun())但是,如果我不先調(diào)用就嘗試調(diào)用print(data.prepper_fun()),則會出現(xiàn)錯誤AttributeError: 'MyData' object has no attribute 'df'。作為面向?qū)ο缶幊痰男率?,我想知道?gòu)造這樣的東西是否被認(rèn)為是好的做法,或者是否有其他方法可以做到這一點。謝謝你的幫助!
查看完整描述

2 回答

?
至尊寶的傳說

TA貢獻1789條經(jīng)驗 獲得超10個贊

在使用它之前確保你有 df。


class MyData:

    def __init__(self, file_path):

        self.file_path = file_path

        self.df = None

    def quality_fun():

       if self.df is None:

          self.prepper_fun()

       # rest of the code 


查看完整回答
反對 回復(fù) 2023-06-13
?
不負(fù)相思意

TA貢獻1777條經(jīng)驗 獲得超10個贊

如果 csv 文件在運行時未更改,您應(yīng)該調(diào)用prepper_fun(self) ,__init__.單獨調(diào)用它會導(dǎo)致出現(xiàn)錯誤的可能性很高。

如果更改了 csv 文件,則其他答案非常有效


查看完整回答
反對 回復(fù) 2023-06-13
  • 2 回答
  • 0 關(guān)注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號