import sys
import numpy as np
import pandas as pd
data = np.arange(10.00, 60.00, 10.00)
index = pd.RangeIndex(5, name = "day")
series = pd.Series(data = data, index = index, name = "prices")
print(series)
print()
#Hard way.
#for i in range(len(series)):
# series[i] *= 1.06 #Means series[i] = series[i] * 1.06
series *= 1.06 #Easy way. Means series = series * 1.06
print(series) #Means print(series.to_string())
print()
#Print each price in a format that looks like money.
s = series.to_string(dtype = True, float_format = lambda price: f"${price:.2f}", name = True)
print(s)
print()
sys.exit(0)
If you don’t like lambda functions, you can say
def formatter(price):
return f"${price:.2f}"
s = series.to_string(dtype = True, float_format = formatter, name = True)
day 0 10.0 1 20.0 2 30.0 3 40.0 4 50.0 Name: prices, dtype: float64 day 0 10.6 1 21.2 2 31.8 3 42.4 4 53.0 Name: prices, dtype: float64 day 0 $10.60 1 $21.20 2 $31.80 3 $42.40 4 $53.00 Name: prices, dtype: float64
"Convert a Fahrenheit Series to Celsius."
import sys
import pandas as pd
data = [
-459.67, #absolute zero
-40.0, #same in Fahrenheit and Celsius
32.0, #freezing
98.6, #body temperature
212.0 #boiling
]
series = pd.Series(data = data, name = "temperature") #Fahrenheit
print(series)
print()
#Create and print a new Series. Then discard it.
print((series - 32) * 5/9) #Convert Fahrenheit to Celsius.
print()
#Change the values in the original Series.
series -= 32 #means series = series - 32
series *= 5/9 #means series = series * 5/9
print(series)
sys.exit(0)
0 -459.67 1 -40.00 2 32.00 3 98.60 4 212.00 Name: temperature, dtype: float64 0 -273.15 1 -40.00 2 0.00 3 37.00 4 100.00 Name: temperature, dtype: float64 0 -273.15 1 -40.00 2 0.00 3 37.00 4 100.00 Name: temperature, dtype: float64
"Create a Series of strings from a Series of floats."
import sys
import numpy as np
import pandas as pd
data = np.arange(10.00, 60.00, 10.00)
index = pd.RangeIndex(5, name = "day")
series = pd.Series(data = data, index = index, name = "prices")
series *= 1.06 #means series = series * 1.06
print(series)
print()
seriesOfStrings = series.map(lambda price: f"${price:.2f}")
print(seriesOfStrings)
#or just say print(series.map(lambda price: f"${price:.2f}"))
sys.exit(0)
day 0 10.6 1 21.2 2 31.8 3 42.4 4 53.0 Name: prices, dtype: float64 day 0 $10.60 1 $21.20 2 $31.80 3 $42.40 4 $53.00 Name: prices, dtype: object
"Create a Series of Celsius temperatures from a Series of Fahrenheit temperatures."
import sys
import pandas as pd
data = [
-459.67, #absolute zero
-40.0, #same in Fahrenheit and Celsius
32.0, #freezing
98.6, #body temperature
212.0 #boiling
]
series = pd.Series(data = data, name = "temperature") #Fahrenheit
#Create and print a new Series.
def fahrenheitToCelsius(fahrenheit):
return (fahrenheit - 32) * 5/9
seriesOfCelsius = series.map(fahrenheitToCelsius)
print(seriesOfCelsius)
#or just say print(series.map(lambda fahrenheit: (fahrenheit - 32) * 5/9))
sys.exit(0)
0 -273.15 1 -40.00 2 0.00 3 37.00 4 100.00 Name: temperature, dtype: float64
import sys
import pandas as pd
series = pd.Series(data = ["New York", "New Jersey", "Connecticut"])
print(series)
print()
maxlen = series.map(len).max()
series = series.map(lambda s: f"{s:{maxlen}}")
print(series)
sys.exit(0)
0 New York 1 New Jersey 2 Connecticut dtype: object 0 New York 1 New Jersey 2 Connecticut dtype: object
"Add two Serieses to create a third Series." import sys import numpy as np import pandas as pd data = [10.00, 20.00, 30.00, 40.00, 50.00] prices = pd.Series(data = data, name = "prices") prices.index.name = "day" data = [1.00, 2.00, 3.00, 4.00, 5.00] taxes = pd.Series(data = data, name = "taxes") taxes.index.name = "day" totalPrices = prices + taxes totalPrices.name = "total prices" print(totalPrices) print() totalPrices = prices.add(taxes) #Does the same thing. totalPrices.name = "total prices" print(totalPrices) sys.exit(0)
day 0 11.0 1 22.0 2 33.0 3 44.0 4 55.0 Name: total prices, dtype: float64 day 0 11.0 1 22.0 2 33.0 3 44.0 4 55.0 Name: total prices, dtype: float64
""" Add two Serieses to create a third Series. One of the original Serieses contains a np.nan. """ import sys import numpy as np import pandas as pd data = [10.00, 20.00, 30.00, 40.00, 50.00] prices = pd.Series(data = data, name = "prices") prices.index.name = "day" data = [1.00, 2.00, 3.00, np.nan, 5.00] taxes = pd.Series(data = data, name = "taxes") taxes.index.name = "day" totalPrices = prices + taxes totalPrices.name = "total prices" print(totalPrices) print() totalPrices = prices.add(taxes, fill_value = 0.00) totalPrices.name = "total prices" print(totalPrices) sys.exit(0)
day 0 11.0 1 22.0 2 33.0 3 NaN 4 55.0 Name: total prices, dtype: float64 day 0 11.0 1 22.0 2 33.0 3 40.0 4 55.0 Name: total prices, dtype: float64
""" Add two Serieses to create a third Series. Drop every row that has a np.nan. """ import sys import numpy as np import pandas as pd data = [10.00, 20.00, 30.00, 40.00, 50.00] prices = pd.Series(data = data, name = "prices") prices.index.name = "day" data = [1.00, 2.00, 3.00, np.nan, 5.00] taxes = pd.Series(data = data, name = "taxes") taxes.index.name = "day" totalPrices = prices + taxes totalPrices.name = "total prices" print(totalPrices) print() totalPrices.dropna(inplace = True) #or totalPrices = totalPrices.dropna() print(totalPrices) sys.exit(0)
day 0 11.0 1 22.0 2 33.0 3 NaN 4 55.0 Name: total prices, dtype: float64 day 0 11.0 1 22.0 2 33.0 4 55.0 Name: total prices, dtype: float64