Adding source code files for Chapter 6

This commit is contained in:
muassif
2021-03-13 19:25:45 +04:00
committed by GitHub
parent e662762d09
commit 9589675a50
45 changed files with 625 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
# pandastrick1.py
import pandas as pd
weekly_data = {'day':['Monday','Tuesday', 'Wednesday', 'Thursday',
'Friday', 'Saturday', 'Sunday'],
'temp':[40, 33, 42, 31, 41, 40, 30],
'condition':['Sunny','Cloudy','Sunny','Rainy','Sunny',
'Cloudy','Rainy']
}
df = pd.DataFrame(weekly_data)
#Replacing a numeric value of 40 with 39 across DF
df.replace(40,39, inplace=True)
#Replacing string Sunny with Sun across DF
df.replace("Sunny","Sun",inplace=True)
#Replacing strings starting with Cl with Cloud across DF
df.replace(to_replace="^Cl.*",value="Cloud", inplace=True,regex=True)
#Replacing Day names using a list across DF
df.replace(["Monday","Tuesday"],["monday","tuesday"], inplace=True)
#Replacing Day names using a single dict across DF
df.replace({"Wednesday":"wednesday","Thursday":"thursday"}, inplace=True)
#Replacing Day names using dict for column and value
df.replace({"day":"Friday"}, {"day":"friday"}, inplace=True)
#Replacing name of two days using dicts for column day
df.replace({"day":{"Saturday":"saturday", "Sunday":"sunday"},
"condition":{"Rainy":"Rain"}}, inplace=True)
print(df)
+17
View File
@@ -0,0 +1,17 @@
# pandastrick2.py
import pandas as pd
weekly_data = {'day':['Monday','Tuesday', 'Wednesday', 'Thursday',
'Friday', 'Saturday', 'Sunday'],
'temp':[40, 33, 42, 31, 41, 40, 30],
'condition':['Sunny,','_Cloudy ','Sunny','Rainy',
'--Sunny.','Cloudy.','Rainy']
}
df = pd.DataFrame(weekly_data)
print(df)
df["condition"] = df["condition"].map(
lambda x: x.lstrip('_- ').rstrip(',. '))
df["temp_F"] = df["temp"].apply(lambda x: 9/5*x+32 )
print(df)
+13
View File
@@ -0,0 +1,13 @@
# pandastrick3.py
import pandas as pd
weekly_data = {'day':['Monday','Tuesday', 'Wednesday', 'Thursday',
'Friday', 'Saturday', 'Sunday'],
'temp':[40, 33, 42, 31, 41, 40, 30],
'condition':['Sunny','Cloudy','Sunny','Rainy','Sunny',
'Cloudy','Rainy']
}
df = pd.DataFrame(weekly_data)
print(df[(df.temp >= 30) & (df.temp<=40)])
print(df[df.temp.between(30,40)])
+13
View File
@@ -0,0 +1,13 @@
# pandastrick4.py
import pandas as pd
weekly_data = {'day':['Monday','Tuesday', 'Wednesday', 'Thursday',
'Friday', 'Saturday', 'Sunday'],
'temp':[40, 33, 42, 31, 41, 40, 30],
'condition':['Sunny','Cloudy','Sunny','Rainy','Sunny',
'Cloudy','Rainy']
}
df = pd.DataFrame(weekly_data)
print(df[(df.condition == 'Rainy') | (df.condition == 'Sunny')])
print(df[df['condition'].str.contains('Rainy|Sunny')])
+17
View File
@@ -0,0 +1,17 @@
# pandastrick5.py
import pandas as pd
import numpy as np
pd.set_option('display.max_columns', None)
weekly_data = {'day':['Monday','Tuesday', 'Wednesday', 'Thursday',
'Friday', 'Saturday', 'Sunday'],
'temp':[40, 33, 42, 31, 41, 40, 30],
'condition':['Sunny','Cloudy','Sunny','Rainy','Sunny',
'Cloudy','Rainy']
}
df = pd.DataFrame(weekly_data)
print(df.describe())
print(df.describe(include="all"))
print(df.describe(percentiles=np.arange(0, 1, 0.1)))
print(df.groupby('condition').describe(percentiles=np.arange(0, 1, 0.1)))
+6
View File
@@ -0,0 +1,6 @@
#between function
import pandas as pd
df = pd.read_csv("weekly_weather.csv")
print(df)
+13
View File
@@ -0,0 +1,13 @@
import pandas as pd
import numpy as np
df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6]]))
print(df)
data = np.array([['', 'Col1', 'Col2'],
['Row1', 1, 2],
['Row2', 3, 4]])
print(pd.DataFrame(data=data[1:, 1:],
index=data[1:, 0],
columns=data[0, 1:]))
+15
View File
@@ -0,0 +1,15 @@
# pandas1.py
import pandas as pd
weekly_data = {'day':['Monday','Tuesday', 'Wednesday', 'Thursday',
'Friday', 'Saturday', 'Sunday'],
'temp':[40, 33, 42, 31, 41, 40, 30],
'condition':['Sunny','Cloudy','Sunny','Rain','Sunny',
'Cloudy','Rain']
}
df = pd.DataFrame(weekly_data)
print(df)
df1 = df.set_index('day')
print(df1)
+13
View File
@@ -0,0 +1,13 @@
# pandas2.py
import pandas as pd
weekly_data = {'day':['Monday','Tuesday', 'Wednesday', 'Thursday',
'Friday', 'Saturday', 'Sunday'],
'temp':[40, 33, 42, 31, 41, 40, 30],
'condition':['Sunny','Cloudy','Sunny','Rain','Sunny',
'Cloudy','Rain']
}
df = pd.DataFrame(weekly_data)
df.index = ['MON', 'TUE','WED','THU','FRI','SAT','SUN']
print(df)
+24
View File
@@ -0,0 +1,24 @@
# pandas3.py
import pandas as pd
weekly_data = {'day':['Monday','Tuesday', 'Wednesday', 'Thursday',
'Friday', 'Saturday', 'Sunday'],
'temp':[40, 33, 42, 31, 41, 40, 30],
'condition':['Sunny','Cloudy','Sunny','Rain','Sunny',
'Cloudy','Rain']
}
df = pd.DataFrame(weekly_data)
df.index = ['MON', 'TUE','WED','THU','FRI','SAT','SUN']
#Provide row with label TUE
print(df.loc['TUE'])
#Provide two rows with label TUE and WED
print(df.loc[['TUE','WED']])
#provide a temp value from row with label FRI
print(df.loc['FRI','temp'])
#Provide a row with index 2
print(df.iloc[2])
#provide a value from a location with
# row index 2 and column index 2
print(df.iloc[2,2])
+17
View File
@@ -0,0 +1,17 @@
# pandas4.py
import pandas as pd
weekly_data = {'day':['Monday','Tuesday', 'Wednesday', 'Thursday',
'Friday', 'Saturday', 'Sunday'],
'temp':[40, 33, 42, 31, 41, 40, 30],
'condition':['Sunny','Cloudy','Sunny','Rain','Sunny',
'Cloudy','Rain']
}
df = pd.DataFrame(weekly_data)
df.index = ['MON', 'TUE','WED','THU','FRI','SAT','SUN']
df.loc['TST1'] = ['Test day 1', 50, 'NA']
df.loc[7] = ['Test day 2', 40, 'NA']
print(df)
+27
View File
@@ -0,0 +1,27 @@
# pandas5.py
import pandas as pd
weekly_data = {'day':['Monday','Tuesday', 'Wednesday', 'Thursday',
'Friday', 'Saturday', 'Sunday'],
'temp':[40, 33, 42, 31, 41, 40, 30],
'condition':['Sunny','Cloudy','Sunny','Rain','Sunny',
'Cloudy','Rain']
}
df = pd.DataFrame(weekly_data)
df.index = ['MON', 'TUE','WED','THU','FRI','SAT','SUN']
#Adding a new column and then updating it
df['Humidity1'] = [60, 70, 65,62,56,25,'']
df['Humidity1'] = [60, 70, 65,62,56,251,'']
#Inserting a colun at colum index of 2
df.insert(2, "Humidity2",[60, 70, 65,62,56,25,''])
#df.insert(2, "Humidity2",[60, 70, 65,62,56,25,''])
#Adding two columns
df1 = df.assign(Humidity3 = [60, 70, 65,62,56,25,''],Humidity4 = [60, 70, 65,62,56,25,''])
print(df1)
+17
View File
@@ -0,0 +1,17 @@
# pandas6.py
import pandas as pd
weekly_data = {'day':['Monday','Tuesday', 'Wednesday', 'Thursday',
'Friday', 'Saturday', 'Sunday'],
'temp':[40, 33, 42, 31, 41, 40, 30],
'condition':['Sunny','Cloudy','Sunny','Rain','Sunny',
'Cloudy','Rain']
}
df = pd.DataFrame(weekly_data)
df.index = ['MON', 'TUE','WED','THU','FRI','SAT','SAT']
print(df)
print(df.reset_index(drop=True))
+20
View File
@@ -0,0 +1,20 @@
# pandas7.py
import pandas as pd
weekly_data = {'day':['Monday','Tuesday', 'Wednesday', 'Thursday',
'Friday', 'Saturday', 'Sunday'],
'temp':[40, 33, 42, 31, 41, 40, 30],
'condition':['Sunny','Cloudy','Sunny','Rain','Sunny',
'Cloudy','Rain']
}
df = pd.DataFrame(weekly_data)
df.index = ['MON', 'TUE','WED','THU','FRI','SAT','SUN']
print(df)
df1=df.drop(index=['SUN','SAT'])
df2=df1.drop(columns=['condition'])
print(df2)
+20
View File
@@ -0,0 +1,20 @@
# pandas8.py
import pandas as pd
weekly_data = {'day':['Monday','Tuesday', 'Wednesday', 'Thursday',
'Friday', 'Saturday', 'Sunday'],
'temp':[40, 33, 42, 31, 41, 40, 30],
'condition':['Sunny','Cloudy','Sunny','Rain','Sunny',
'Cloudy','Rain']
}
df = pd.DataFrame(weekly_data)
df.index = ['MON', 'TUE','WED','THU','FRI','SAT','SUN']
print(df)
df1=df.rename(index={'SUN': 'SU', 'SAT': 'SA'})
df2=df1.rename(columns={'condition':'cond'})
print(df2)
+8
View File
@@ -0,0 +1,8 @@
day,temperature,condition
Monday,40,Sunny
Tuesday,38,Sunny
Wednesday,42,Sunny
Thursday,37,Rain
Friday,35,Cloudy
Saturday,40,Cloudy
Sunday,30,Rain
1 day temperature condition
2 Monday 40 Sunny
3 Tuesday 38 Sunny
4 Wednesday 42 Sunny
5 Thursday 37 Rain
6 Friday 35 Cloudy
7 Saturday 40 Cloudy
8 Sunday 30 Rain