Professional Documents
Culture Documents
פייתון
פייתון
אחד המאפיינים הבולטים בתחביר השפה הוא השימוש בהזחה להגדרת בלוקים של
קוד )ללא שימוש בסוגריים או במילים שמורות לצורך כך ,כמו ברוב השפות
הנפוצות(.
• פייתון גורמת לקוד שכתוב בה להיראות מסודר ופשוט יותר בגלל שהיא מבטלת
• פייתון מכילה בתוכה אוסף מכובד מאד של ספריות סטנדרטיות ,כלומר ספריות
שניתן להסתמך על קיומן בכל מימוש של פייתון כמו ספריות לטיפול בטקסט
)"!print("Hello, World
זהו ?
כן!
מאפיינים תחביריים
פקודות מופרדות לרוב על ידי מעבר שורה .שימוש בתו ';'
)נקודה ופסיק( להפרדה בין פקודות הוא אופציונלי.
הזחה קובעת את גבולות
הבלוק
WHITESPACE MATTERS!
שפת מכונה ושפת תכנות
שפת מכונה – זו השפה בה המחשב מדבר והיא כוללת 2אותיות בלבד 0ו.1
נקראת גם שפה בינארית .זו שפה מורכבת מאוד .בקידוד בינארי בלתי אפשרי
אנושי ,שמובן יותר לבני אדם וקל יחסית לזכירה .יש הרבה שפות תכנות
מנת להריץ תוכנית מסוימת ,הכתובה בשפה שאינה שפת המכונה של המחשב
בסיום התרגום נוצר קובץ הכתוב בשפת מכונה ,הניתן להרצה בכל עת .הקובץ
קיימת דרך אחרת שבה יכולים מחשבים לבצע את התוכניות המוצגות להם.
בדרך זו לא מתורגמת התכנית כולה לשפה ברמה נמוכה יותר .במקום זאת כל
.1תהליך ההידור הוא תהליך מורכב מאד ,הספציפי למכונה מסוימת .קוד
המכונה הנוצר מתחשב בחומרה הספציפית עליה הקוד עתיד לרוץ וכן במערכת
לעומת זאת ,יאפשר הרצה של התוכנית כמעט בכל מכונה משום שהתוכנית
.2ברור כי שימוש במפרש עלול לצרוך משאבים רבים בשל העובדה כי התוכנית
זיכרון( עלולים לקחת יותר זמן בעת שימוש במפרש ,לאור העובדה שהתוכנית
לאור הבעייתיות שהוצגה ,שימוש טהור במפרש נדיר ,ונעשה בעיקר ברשת
לרוב ,פייתון בדומה לשפות תכנות אחרות ,תהדר את הקבצים לשפת ביניים
ועוד דוגמה:
ומתחילים...
ערכים
ערך הוא אחד הדברים הבסיסיים בו משתמשת תכנית מחשב.
website = "apple.com"
print(website)
#assigning a new value to website
website = "programiz.com"
Output:
print(website) apple.com
print(type(website)) programiz.com
<class 'str'>
website = 9 <class 'int'>
print(type(website))
השמה מרובה
name=“Yoram”
num=3
other_num=1.5
print (name)
Output:
print (num) ‘Yoram’
3
print (other_num)
1.5
פונקציית הPRINT-
print(1, 2, 3, 4)
print(1, 2, 3, 4, sep='*')
Output:
1234
1*2*3*4
1#2#3#4&
INPUT-פונקציית ה
print (name)
Output:
‘Sharon’
INPUT-פונקציית ה
string מחזירהinput() שימו לב! הפונקציה
int יש לעשות המרה מפורשת ל,כאשר אנו מעוניינים לקלוט מספר
<class ‘str’>
7
כמה נקודות נוספות:
• כמו בשפות רבות אחרות ,התו ’ ‘\nבפונקציה printמשמעותו שורה חדשה
• הערה בקוד תסומן על ידי #בתחילת השורה
לדוגמה:
=============== #=============== class ex1
• הערה בת כמה שורות תתחיל ותסתיים על ידי 3מרכאות
לדוגמה:
=============== """=============== class ex1
"""This program implements a calculator
כמה נקודות נוספות:
• שורה ארוכה אפשר לחלק בצורה הזו:
\a=1+2+3+
\4+5+6+
7+8+9
•כשזה בתוך סוגריים ,אין צורך להוסיף כלום:
a = (1 + 2 + 3 +
4+5+6+
)7 + 8 + 9
2 שבוע רות בורנשטין
rutbor@edu.hac.ac.il
אופרטורים
קודם כל סוגריים ,לאחר-מכן חזקה ,כפל וחילוק ,חיבור וחיסור .החישוב מתבצע משמאל
לימין.
אופרטורי פעולה
num=3
other_num=1.5
print (name)
Output:
print (num) ‘Yoram’
3
print (other_num)
1.5
פונקציית הPRINT-
שימו לב שפונקציית ה printמוסיפה באופן
דיפולטיבי ירידת שורה בסופה.
print(1, 2, 3, 4)
print(1, 2, 3, 4, sep='*')
Output:
1234
1*2*3*4
1#2#3#4&
INPUT-פונקציית ה
print (name)
Output:
‘Sharon’
INPUT-פונקציית ה
string מחזירהinput() שימו לב! הפונקציה
int יש לעשות המרה מפורשת ל,כאשר אנו מעוניינים לקלוט מספר
7
כמה נקודות נוספות:
• כמו בשפות רבות אחרות ,התו ’ ‘\nבפונקציה printמשמעותו שורה חדשה
• הערה בקוד תסומן על ידי #בתחילת השורה
לדוגמה:
=============== #=============== class ex1
• הערה בת כמה שורות תתחיל ותסתיים על ידי 3מרכאות
לדוגמה:
=============== """=============== class ex1
"""This program implements a calculator
כמה נקודות נוספות:
• שורה ארוכה אפשר לחלק בצורה הזו:
\a=1+2+3+
\4+5+6+
7+8+9
•כשזה בתוך סוגריים ,אין צורך להוסיף כלום:
a = (1 + 2 + 3 +
4+5+6+
)7 + 8 + 9
IF STATEMENT
a = 21
b = 10
If (a == b):
print (“a is equal to b”)
else:
print (“a is not equal to b”)
IF STATEMENT
a = 21
b = 10
If (a == b):
print (“a is equal to b”)
else:
if (a<b):
print (“a is less than b”)
else:
print (“a is not less than b”)
ELIF
שימו לב:
הערך המוחזר מביטוי כזה יהיה רשימה המכילה את האלמנטים של הרשימה המקורית
לפי הסדר החל מהאינדקס הנתון הראשון ועד האינדקס האחרון ,לא כולל.
])lst[begin_index:end_index(not included
SLICE OPERATION – EXAMPLES
Output:
['eggs', 'milk', 100, 7, 5.14]
['milk’, 100]
[100, 7]
SLICE OPERATION
אם רוצים לקחת מתחילת הרשימה או עד סופה ,אפשר פשוט להשאיר ריק ,ללא אינדקס.
])lst[:end_index(not included
]lst[begin_index:
SLICE OPERATION – EXAMPLES
Output:
Output:
SLICE OPERATION - CONTINUE
ניתן להוסיף נקודותיים שניות כדי להגדיר את גודל הדילוג בין האלמנטים ברשימה וכך
לקבל תת רשימה שאינה רציפה.
הערך המוחזר מביטוי כזה יהיה רשימה המכילה את האלמנטים של הרשימה המקורית
לפי הסדר החל מהאינדקס הנתון הראשון ועד האינדקס האחרון )לא כולל( עם דילוגים.
]lst[begin_index:end_index:step
SLICE OPERATION – EXAMPLES
Output:
['eggs', 'milk', 100, 7, 5.14, ‘bread’, ‘meat’, 56]
[‘milk’, 7]
[100, ‘bread’]
SLICE OPERATION – EXAMPLES
Output:
SLICE OPERATION – EXAMPLES
Output:
SLICE OPERATION
LIST FUNCTIONS
• len(lst): number of elements in list.
Example: len ([1, 6, 2, 4.6, 1.11, 0.043, 5 ]) 7
Results
s=[1,2,3,4]
t=[1,3,5,3,7,3,2,5,3]
x=2
print (s + t) [1, 2, 3, 4, 1, 3, 5,3, 7, 3, 2, 5, 3]
print(t.index(3)) 1
print(t.count(3)) 4
IN AND NOT IN
Results
s=[1,2,3,4]
t=[1,3,5,3,7,3,2,5,3]
x=2
print (x in s) True
למה?
רשימה היא מסוג ,mutableז"א היא ניתנת לשינוי ,ולכן מרבית
הפונקציות של רשימה משנות את הרשימה עצמה ומחזירות
.None
במקרה הזה הפונקציה מחזירה Noneואותו אנו שומרים בתוך
my_list
מטריצה
• ניצור מטריצה כך:
]]my_list = [ [1, 2, 3], [4, 5, 6], [7, 8, 9
• אם נרצה להדפיס את העמודה השניה בשורה השניה ,נעשה זאת כך:
)]print (my_list[1][1
• ואפשר כמובן לערבב:
]'my_list = ['a', [1, 2, 3], 'z
• ואם נרצה להדפיס את הספרה ,1נכתוב:
)]print (my_list[1][0
לולאות FOR
לולאת ה forתמיד עוברת על פריטים ברצף כלשהו לפי סדר הופעתם ברצף.
בהמשך נראה שפונקציה יכולה להחזיר רק איבר אחד .אבל ניתן להחזיר מפונקציה Tuple
המכיל מספר איברים ,וע"י כך להחזיר יותר מאיבר אחד מפונקציה.
TUPLE - CONTINUE
)>>> t = (1, 2, 3 יצירת ה Tupleנעשית בדיוק כמו
>>> t יצירת רשימה ,רק שבמקום סוגריים
)(1, 2, 3 מרובעות משתמשים בסוגריים
]>>> t[0
עגולות.
1
TUPLE אי אפשר לשנות
>>> t[0] = 2 נקבל,tupleאם ננסה לשנות איבר ב
הודעת שגיאה
Traceback (most recent call last):
מפתח הוא ייחודי .ז"א ,הוא יכול להופיע פעם אחת ולא יותר.
}{ = my_dict
my_dict[key1] = value1
מילונים
יצירת מילון ריק נעשית בעזרת סוגריים מסולסלות ריקות
}{ = >>> d
הוספת ערך הממופה למפתח 1
">>> d[1] = "Sunday
>>> d
}'{1: 'Sunday
]>>> d[1
''Sunday
עוד דוגמא למילון
cap = {}
cap['Israel'] = 'Jerusalem'
cap['USA'] = 'Washington'
cap['Russia'] = 'Moscow'
cap['France'] = 'Paris'
cap['England'] = 'London'
cap[‘Italy'] = 'Rome‘
צורות הצגה שונות של המילון
>>> cap
{'Israel': 'Jerusalem', 'USA': 'Washington', 'Russia': 'Moscow', 'France': 'Paris', 'England':
'London', 'Italy': 'Rome'}
>>> cap.keys()
dict_keys(['Israel', 'USA', 'Russia', 'France', 'England', 'Italy'])
>>> cap.values()
dict_values(['Jerusalem', 'Washington', 'Moscow', 'Paris', 'London', 'Rome'])
פונקציות שימושיות למילונים
>>> cap.items()
[('Israel', 'Jerusalem'), ('Italy', 'Rome'), ('USA', 'Washington'), ('France',
'Paris'), ('England', 'London'), ('Russia', 'Moscow')]
>>> len(cap)
6
מציאת ערך במילון בעזרת המפתח שלו
]'>>> cap['France
בשונה מרשימה ,בה ניגש לערך באמצעות
''Paris
]'>>> cap['Japan האינדקס שלו ,במילון ניגש לערך באמצעות
Traceback (most recent call last):
המפתח שלו.
>File "<stdin>", line 1, in <module
KeyError: Japan גישה לערך שלא קיים ,תיתן שגיאה.
שינוי ערך במילון
המפתחות במילון ייחודיים ולא ניתן לחזור על
cap={}
זה, כאשר ננסה לעשות זאת.מפתח פעמיים
cap['Israel'] = 'Jerusalem'
.ייתפס כשינוי הערך
cap['USA'] = 'Washington‘
… Output:
{'Israel': 'Jerusalem', 'USA': 'Washington',
print(cap)
…}
cap['USA'] = 'New York' {'Israel': 'Jerusalem', 'USA': 'New York',
print(cap) …}
SET
}>>> x = {1, 2, 3
setהיא כמו רשימה ,מלבד העובדה שאי-
>>> x
אפשר לאחסן פעמיים את אותו האיבר .כדי
}{1, 2, 3
ליצור קבוצה מרשימת איברים משתמשים
)>>> x.add(2
)>>> x.add(3 בסוגריים מסולסלים.
)>>> x.add(4
ל setאפשר להוסיף איברים .אם ננסה
>>> x
להוסיף איבר שקיים כבר ,לא יקרה כלום.
}{1, 2, 3, 4
מחיקת איבר ב .SETפונקציות REMOVEוDISCARD
2 1
הפתרון הוא להשתמש בפונקציית מ setאפשר למחוק איברים.
discardשמוחקת את האיבר רק אם ננסה למחוק איבר שאינו קיים,
במידה והוא קיים נקבל הודעת שגיאה:
)>>> x.discard(5 )>>> x.remove(1
)>>> x.discard(2 )>>> x.remove(5
>>> x Traceback (most recent call last):
}{3, 4 File "<stdin>", line 1, in
><module
KeyError: 5
>>> x
}{2, 3, 4
מחיקת ערך כפול מרשימה
>>> w = [1, 1, 1, 2, 3, 9, 2, 4, 3, 6]
>>> set(w)
{1, 2, 3, 4, 6, 9}
>>>basket
Output:
SET בIN פקודת
>>>'orange' in basket
True
>>>'crabgrass' in basket
False
ניתן לחפש גם ערך בתוך מילון בצורה הזו
>>> cap['France']
'Paris'
>>> cap['Japan']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: Japan
>>> 'Japan' in cap
False
>>> 'Israel' in cap
True
SORTED SET
To loop over a (uniqe) sequence in sorted order
ממבנה נתונים אחד לאחר
>>> set([1,2,3])
{1, 2, 3}
>>> tuple({5,6,7})
(5, 6, 7)
>>> list('hello')
['h', 'e', 'l', 'l', 'o’]
>>> dict([[1,2],[3,4]])
{1: 2, 3: 4}
>>> dict([(3,26),(4,44)])
{3: 26, 4: 44}
לולאות FOR
לולאת ה forתמיד עוברת על פריטים ברצף כלשהו לפי סדר הופעתם ברצף.
Output:
USA : New York
Russia : Moscow
France : Paris
England : London
RANGE
rangeיוצרת רצף מספרים עם ערך התחלתי ,ערך סופי וקפיצה.
range(10) 0123456789
range (5,15) 5 6 7 8 9 10 11 12 13 14 15
range(8,27,2) 8 10 12 14 16 18 20 22 24 26
range(48,20,-3) 48 45 42 39 36 33 30 27 24 21
RANGE
: נקבלrange אם נבדוק מהו הסוג של
>>> type(range(1,10))
<class 'range’>
>>>print(range(10))
range(0, 10)
>>>print(list(range(2, 8)))
[2, 3, 4, 5, 6, 7]
Output:
0
1
2
FOR WITH RANGE - 2
for num in range(3,6) :
print(num)
Output:
3
4
5
FOR WITH RANGE - 3
for num in range(3,13,4):
print(num)
Output:
3
7
11
מעבר על לולאה בעזרת אינדקס
שימו לב! זו צורת כתיבה שרגילים להשתמש בה ב ++Cאבל בפייתון זו לא הצורה הרגילה.
שימו לב שיש לכם סיבה טובה להשתמש בה כי אחרת זה יכול להיחשב כשגיאה!
BREAK, CONTINUE AND ELSE
for statement_list_1 :
if test1:
break Exit loop now; skip else
if test2:
continue Go to top of loop now
else:
statement_list_2 If we didn't hit a 'break'
BREAK AND CONTINUE STATEMENTS
break statement breaks out of the smallest enclosing for or while loop.
continue statement continues with the next iteration of the loop.
-- both statements work just like in C.
CONTINUE
digits = [0, 1, 5]
for i in digits:
print(i)
else:
Output:
print("No items left.") 0
1
5
No items left.
1רב
>>>print('coordinates: {xpoint},{ypoint}'.format(xpoint=4.7,
ypoint=2.1))
coordinates: 4.7,2.1
PASS STATEMENTS
The pass statement does nothing!!
It can be used when a statement is required syntactically but the
program requires no action.
For example:
בולאנים
רות בורנשטין
ו LIST COMPREHENSION
סיכום וחזרה -ערכים
for x in lst:
print(x)
for i in range(len(lst)):
print(lst[i])
j=0
while j< len(lst)):
print(lst[j])
j +=1
להלן הדוגמאות:
Results
][=li False
if li:
)”print (“True
else:
)”print (“False
x = None Empty
if x:
)”print (“Full
else:
)”print (“Empty
Results
)bool(100 True
"x = "764bg False
)(x.isdigit
)(3.76.is_integer False
while True:
)”print(“Hello
while True:
)”print(“Hello
if x == “e”:
break
if not num == 7:
a or b == a | b
=! == not
שיעור :3פונקציות בסיסי ,רשימות ,הרכבת רשימות ,פילטרים ועוד
ORהשמה מרובה ושימוש ב
print(non_null) Output:
‘Ron’
• age = 15
'adult') Output:
teenager
1. h_letters = []
for letter in 'human’:
Output:
h_letters.append(letter)
[‘h’,’u’,’m’,’a’,’n’]
print(h_letters)
if y % 2 == 0 if y % 5 == 0]
print(num_list)
Output:
[0,10,20,30,40,50,60,70,80,90]
למשתמש.
*מדעי נתונים :הוא ענף במדעי המחשב בו אנו לומדים כיצד לאחסן ,להשתמש ולנתח
נתונים לצורך הפקת מידע מהם.
מה PANDASעושה?
Pandasעוזרת למצוא את:
• ערך המקסימום.
• ערך המינימום
• ערך הממוצע
בנוסף ,אפשר למחוק בקלות שורות שאינן רלוונטיות ,או מכילות ערכים שגויים או ריקים.
מתחילים לעבוד
התקנה – שתי אפשרויות:
.2ייבאו את הספרייה ב .pyCharmלאחר שמתקבלת שגיאה ,יש אופציות לתיקון ושם יש
אופציה להתקין את הספרייה.
דוגמא
import pandas as pd
mydataset = {
'cars': ["BMW", "Volvo", "Ford"],
'passings': [3, 7, 2]
}
myvar = pd.DataFrame(mydataset)
print(myvar)
SERIES
ממדי המחזיק נתונים מכל סוג- זהו מערך חד. מייצג טור בטבלהpandas בSeries
.שהוא
import pandas as pd
a = [1, 7, 2]
myvar = pd.Series(a)
print(myvar)
LABELS
.ים משלךlabel אפשר ליצורindex בעזרת הארגומנט
import pandas as pd
a = [1, 7, 2]
print(myvar)
LABELS
)]"print(myvar["y
LABELS
import pandas as pd
calories = {"day1": 420, "day2": 380, "day3": 390}
myvar = pd.Series(calories)
print(myvar)
LABELS
import pandas as pd
calories = {"day1": 420, "day2": 380, "day3": 390}
myvar = pd.Series(calories, index = ["day2", "day3"])
print(myvar)
עוד פעולות
DATAFRAME
. הוא כל הטבלהDataFrame הוא עמודה וSeries
.הטבלה מכילה שורות ועמודות
import pandas as pd
data = {
"calories": [420, 380, 390],
"duration": [50, 40, 45]
}
df = pd.DataFrame(data)
print(df)
גישה לעמודה מסוימת
אם נרצה לגשת לעמודה מסוימת ,נכתוב את הפקודה הבאה:
]“col = df["calories
)print(col
גישה לשורה מסוימת LOC -
בעזרת הפקודה locנוכל לגשת לשורה מסוימת או לתא מסוים.
בצורה הבאה נוכל לגשת לשורה ה:0-
)]print(df.loc[0
שימו לב שפונקציה זו מחזירה אובייקט מסוג Series
גישה לכמה שורות LOC -
בצורה הבאה נוכל לגשת לשורה ה 0-וה:1-
)]]print(df.loc[[0, 1
ברגע שנשתמש ב][ כפולים ,הפונקציה תחזיר אובייקט מסוג DataFrame
LABEL
:ים משלנוlabel אפשר לתתDataFrameגם ב
import pandas as pd
data = {
"calories": [420, 380, 390],
"duration": [50, 40, 45]
}
print(df)
LOC
לאחר שינוי הlabelים ,נוכל לגשת לשורה בעזרת ה labelהחדש:
)]"print(df.loc["day2
קריאת קובץ CSV
דרך פשוטה לאחסן קבצי נתונים גדולים היא להשתמש בקבצי ) CSVקבצים המופרדים
בפסיקים( .קבצי CSVמכילים טקסט רגיל והוא פורמט ידוע שניתן לקרוא על ידי כל
התוכנות והשפות כולל .pandasבעזרת הפקודה read_csvנוכל לקרוא טבלה:
דרך נוספת להציג את הטבלה כולה ,היא להפוך אותה מאוביקט מסוג DataFrameלאוביקט מסוג
))(print(df.to_string
)(DF.INFO
לאובייקט DataFramesיש שיטה הנקראת )( ,infoהמספקת מידע נוסף על מערך הנתונים.
))(print(df.info
DATA CLEANING
ניקוי נתונים פירושו תיקון נתונים גרועים בטבלת הנתונים.
נתונים גרועים יכולים להיות:
• תאים ריקים
• נתונים בפורמט שגוי
• מידע שגוי
• כפילויות
בטבלה ניתן לראות:
.1ערכים ריקים )שורות 22 ,18ו(28
.2ערכים שגויים )שורות 7ו(26
.3שורות כפולות )שורות 11ו(12
מחיקת שורות
אחת הדרכים להתמודד עם תאים ריקים היא להסיר שורות המכילות תאים ריקים.
זה בדרך כלל בסדר ,מכיוון שמערכי הנתונים יכולים להיות גדולים מאוד ,והסרה של כמה
שורות לא תשפיע מאוד על התוצאה.
דרך נוספת להתמודד עם תאים ריקים היא להוסיף במקום ערך חדש.
בדרך זו אינך צריך למחוק שורות שלמות רק בגלל כמה תאים ריקים.
)'df = pd.read_csv('data.csv
import pandas as pd
df = pd.read_csv('data.csv')
x = df["Calories"].median()
df["Calories"].fillna(x, inplace = True)
MODEהחלפת ערכים ריקים ב
הכי פחות פעמים/ = הערך שמופיע הכי הרבה פעמיםmode
import pandas as pd
df = pd.read_csv('data.csv')
x = df["Calories"].mode()[0]
df["Calories"].fillna(x, inplace = True)
נתונים בפורמט לא נכון
תאים עם נתונים בפורמט שגוי יכולים להקשות או אפילו להפוך לבלתי אפשרי את ניתוח הנתונים.
כדי לתקן את זה ,יש שתי אפשרויות :להסיר את השורות ,או להמיר את כל התאים בעמודות לאותו
פורמט.
TO_DATETIME()
נוכל להמיר את כל התאריכים לפורמט הנכוןto_datetime() 'בעזרת שימוש בפונ
import pandas as pd
df = pd.read_csv('data.csv')
df['Date'] = pd.to_datetime(df['Date'])
print(df.to_string())
נתונים שגויים
"נתונים שגויים" לא חייבים להיות "תאים ריקים" או "פורמט שגוי" ,הם יכולים פשוט להיות
שגויים ,כמו אם מישהו רשם " "199במקום "."1.99
לפעמים אפשר לזהות נתונים שגויים על ידי הסתכלות על מערך הנתונים ,כי יש לך ציפייה למה זה
צריך להיות.
בדוגמה שלנו ,אפשר לראות שבשורה 7משך הזמן הוא ,450אך עבור כל שאר השורות משך
הזמן נע בין 30ל .60-זה לא חייב להיות שגוי ,אבל אם לוקחים בחשבון שזה מערך הנתונים של
אימונים של מישהו ,אנו מסכמים עם העובדה שאדם זה לא התאמן במשך 450דקות.
תיקון נתונים
אחת הדרכים לתקן ערכים שגויים היא להחליף אותם במשהו אחר.
בדוגמה שלנו ,ככל הנראה מדובר בהקלדת שגיאה ,והערך צריך להיות " "45במקום
" ,"450ונוכל פשוט להוסיף " "45בשורה :7
כדי להחליף נתונים שגויים עבור מערכי נתונים גדולים יותר אפשר ליצור כמה כללים.
למשל ,להגדיר גבולות מסוימים לערכים ולהחליף את כל הערכים הנמצאים מחוץ לגבולות.
for x in df.index:
if df.loc[x, "Duration"] > 120:
df.loc[x, "Duration"] = 120
תיקון נתונים
דרך נוספת לטיפול בנתונים שגויים היא להסיר את השורות המכילות נתונים שגויים.
בדרך זו לא צריך לברר במה להחליף אותם ,ויש סיכוי טוב שאיננו זקוקים להם לביצוע
הניתוחים שלך.
for x in df.index:
if df.loc[x, "Duration"] > 120:
)df.drop(x, inplace = True
שורות כפולות
DROP_DUPLICATES()
drop_duplicates()כדי למחוק שורות כפולות נשתמש ב
df.drop_duplicates(inplace = True)
שינוי של שם עמודה
מציאת קשרים
פונ' חשובה של המודול הזה היא הפונ' )( .corrהפונ' )( corrמחשבת את הקשר בין כל
עמודה בערכת הנתונים שלך.
)(df.corr