import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as spicyN = 30
t = 2.7
2 * (1 - spicy.t(df = N - 1).cdf(np.abs(t))) # p-value0.011450043798540976
df = pd.read_csv("https://raw.githubusercontent.com/roualdes/data/refs/heads/master/penguins.csv")ndx = ~df["body_mass_g"].isna()
x = df.loc[ndx, "body_mass_g"]
xbar = np.mean(x)
N = np.sum(ndx)
s = np.std(x, ddof = 1)
t = (xbar - 4150)/ (s / np.sqrt(N))2 * (1 - spicy.t(df = N - 1).cdf(np.abs(t)))0.23351612369031005
spicy.ttest_1samp(x, popmean = 4000)TtestResult(statistic=4.6524990132509805, pvalue=4.699770469917747e-06, df=341)
t4.6524990132509805
342