1. Read a excel file : read_excel()
import pandas as pd
df1 = pd.read_excel("E06EXAMPLE.xlsx", sheet_name=1)
df1
|
Name |
Mark |
| 0 |
Louis |
98.0 |
| 1 |
Harvey |
NaN |
| 2 |
G-dragon |
NaN |
| 3 |
Lola |
100.0 |
| 4 |
Jorge |
82.0 |
| 5 |
Piona |
76.0 |
| 6 |
Mitchy |
90.0 |
| 7 |
Fibio |
NaN |
| 8 |
Kim |
92.0 |
| 9 |
Stacy |
91.0 |
| 10 |
Grace |
57.0 |
| 11 |
TL |
67.0 |
| 12 |
Sanchez |
91.0 |
| 13 |
Zhen |
89.0 |
| 14 |
James |
59.0 |
| 15 |
Coline |
86.0 |
| 16 |
Gorila |
NaN |
| 17 |
Sunny |
86.0 |
| 18 |
Conner |
77.0 |
| 19 |
Sally |
58.0 |
| 20 |
Marry |
56.0 |
| 21 |
Katy |
54.0 |
| 22 |
Gerge |
68.0 |
| 23 |
kipling |
NaN |
| 24 |
Guggi |
91.0 |
| 25 |
Phil |
58.0 |
| 26 |
CoolJ |
58.0 |
| 27 |
Kara |
77.0 |
| 28 |
Sally |
86.0 |
| 29 |
Tiara |
56.0 |
| 30 |
Kolon |
79.0 |
| 31 |
SungGil |
76.0 |
2. “If” function in excel : mask
cond1 = df1["Mark"].isnull()
df1["Attendancy"] = df1["Mark"].mask(cond1, "X").mask(-cond1, "O")
df1
|
Name |
Mark |
Attendancy |
| 0 |
Louis |
98.0 |
O |
| 1 |
Harvey |
NaN |
X |
| 2 |
G-dragon |
NaN |
X |
| 3 |
Lola |
100.0 |
O |
| 4 |
Jorge |
82.0 |
O |
| 5 |
Piona |
76.0 |
O |
| 6 |
Mitchy |
90.0 |
O |
| 7 |
Fibio |
NaN |
X |
| 8 |
Kim |
92.0 |
O |
| 9 |
Stacy |
91.0 |
O |
| 10 |
Grace |
57.0 |
O |
| 11 |
TL |
67.0 |
O |
| 12 |
Sanchez |
91.0 |
O |
| 13 |
Zhen |
89.0 |
O |
| 14 |
James |
59.0 |
O |
| 15 |
Coline |
86.0 |
O |
| 16 |
Gorila |
NaN |
X |
| 17 |
Sunny |
86.0 |
O |
| 18 |
Conner |
77.0 |
O |
| 19 |
Sally |
58.0 |
O |
| 20 |
Marry |
56.0 |
O |
| 21 |
Katy |
54.0 |
O |
| 22 |
Gerge |
68.0 |
O |
| 23 |
kipling |
NaN |
X |
| 24 |
Guggi |
91.0 |
O |
| 25 |
Phil |
58.0 |
O |
| 26 |
CoolJ |
58.0 |
O |
| 27 |
Kara |
77.0 |
O |
| 28 |
Sally |
86.0 |
O |
| 29 |
Tiara |
56.0 |
O |
| 30 |
Kolon |
79.0 |
O |
| 31 |
SungGil |
76.0 |
O |
3. Multiple “if” in excel : multiple masks
cond2 = df1["Mark"]>70
cond3 = df1["Mark"]>75
cond4 = df1["Mark"]>80
cond5 = df1["Mark"]>85
df1["Grade"] = df1["Mark"].mask(-cond2, "C").mask(cond2,"B").mask(cond3,"B+").mask(cond4, "A").mask(cond5, "A+")
df1
|
Name |
Mark |
Attendancy |
Grade |
| 0 |
Louis |
98.0 |
O |
A+ |
| 1 |
Harvey |
NaN |
X |
C |
| 2 |
G-dragon |
NaN |
X |
C |
| 3 |
Lola |
100.0 |
O |
A+ |
| 4 |
Jorge |
82.0 |
O |
A |
| 5 |
Piona |
76.0 |
O |
B+ |
| 6 |
Mitchy |
90.0 |
O |
A+ |
| 7 |
Fibio |
NaN |
X |
C |
| 8 |
Kim |
92.0 |
O |
A+ |
| 9 |
Stacy |
91.0 |
O |
A+ |
| 10 |
Grace |
57.0 |
O |
C |
| 11 |
TL |
67.0 |
O |
C |
| 12 |
Sanchez |
91.0 |
O |
A+ |
| 13 |
Zhen |
89.0 |
O |
A+ |
| 14 |
James |
59.0 |
O |
C |
| 15 |
Coline |
86.0 |
O |
A+ |
| 16 |
Gorila |
NaN |
X |
C |
| 17 |
Sunny |
86.0 |
O |
A+ |
| 18 |
Conner |
77.0 |
O |
B+ |
| 19 |
Sally |
58.0 |
O |
C |
| 20 |
Marry |
56.0 |
O |
C |
| 21 |
Katy |
54.0 |
O |
C |
| 22 |
Gerge |
68.0 |
O |
C |
| 23 |
kipling |
NaN |
X |
C |
| 24 |
Guggi |
91.0 |
O |
A+ |
| 25 |
Phil |
58.0 |
O |
C |
| 26 |
CoolJ |
58.0 |
O |
C |
| 27 |
Kara |
77.0 |
O |
B+ |
| 28 |
Sally |
86.0 |
O |
A+ |
| 29 |
Tiara |
56.0 |
O |
C |
| 30 |
Kolon |
79.0 |
O |
B+ |
| 31 |
SungGil |
76.0 |
O |
B+ |
4. Copy to Clipboard : to_clipboard()
df1.to_clipboard(index=False)
5. Total Code
import pandas as pd
df1 = pd.read_excel("E06EXAMPLE.xlsx", sheet_name=1)
cond1 = df1["Mark"].isnull()
df1["Attendancy"] = df1["Mark"].mask(cond1, "X").mask(-cond1, "O")
cond2 = df1["Mark"]>70
cond3 = df1["Mark"]>75
cond4 = df1["Mark"]>80
cond5 = df1["Mark"]>85
df1["Grade"] = df1["Mark"].mask(-cond2, "C").mask(cond2,"B").mask(cond3,"B+").mask(cond4, "A").mask(cond5, "A+")
df1.to_clipboard(index=False)