Digital Campus | En verden af kode | Hacza

Software Kurser => Python => Emne startet af: Hacza Dato Mar 19, 2026, 03:02 PM

Titel: NumPy og Pandas i Python: Grundlæggende Dataanalyse
Indlæg af: Hacza Dato Mar 19, 2026, 03:02 PM
Pythons styrke inden for datavidenskab og analyse kommer i høj grad fra NumPy- og Pandas-bibliotekerne. NumPy giver grundlaget for numeriske operationer og multidimensionelle arrays; Pandas bygger på dette grundlag med kraftfulde værktøjer til manipulation af tabulære data (tabel-lignende). I 2026 er disse to biblioteker uundværlige for datavidenskabsfolk, maskinlæringsingeniører og analytikere. Især når man arbejder med store datasæt (CSV, Excel, databaser) er deres ydeevne uovertruffen.

På Google er søgninger som "Python NumPy tutorial", "Pandas dataframe", "Python dataanalyse", "NumPy array" blandt de mest søgte Python-emner i Tyrkiet og verden over. At lære disse biblioteker giver en stor fordel i din karriere: De fleste jobannoncer søger "Pandas-erfaring".

Hvorfor skal du lære NumPy og Pandas? (2026 Perspektiv)

Installation
I terminalen:

pip install numpy pandas
Jupyter Notebook anbefales (ideel til dataanalyse):

pip install jupyter
jupyter notebook

1. NumPy: Grundlaget for Numeriske Beregninger
NumPy arbejder med ndarray (n-dimensional array). Homogene datatyper, hurtige operationer.

import numpy as np

# Array oprettelse
array = np.array([1, 2, 3, 4, 5])
print(array)  # [1 2 3 4 5]
print(array.dtype)  # int64

# 2D array (matrix)
matrix = np.array([[1, 2, 3], [4, 5, 6]])
print(matrix)
# [[1 2 3]
#  [4 5 6]]

# Nul, et og tilfældige arrays
nuller = np.zeros((3, 4))  # 3x4 nul-matrix
ener = np.ones((2, 2))
tilfældig = np.random.rand(3, 3)  # 0-1 tilfældig

# Arange, linspace
interval = np.arange(0, 10, 2)  # 0 til 10 i 2-trin: [0 2 4 6 8]
lige_interval = np.linspace(0, 1, 5)  # 0-1 i 5 lige dele

# Matematiske operationer (vektorielle - meget hurtige)
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(a + b)  # [5 7 9]
print(a * b)  # [ 4 10 18]
print(np.sqrt(a))  # [1.        1.41421356 1.73205081]

# Indeksering og slicing
print(matrix[0, 1])  # 2 (række 0, kolonne 1)
print(matrix[:, 1])  # alle rækker, kolonne 1: [2 5]
print(matrix[matrix > 3])  # boolean indeksering: [4 5 6]

# Statistiske funktioner
print(array.mean())  # gennemsnit
print(array.sum())
print(array.max())
print(np.median(array))

# Formændring
ny_form = array.reshape(5, 1)  # 5x1 matrix

Ydeevne eksempel: 1 million elementer liste vs NumPy array addition. NumPy er 50-100 gange hurtigere.

2. Pandas: Manipulation af Tabulære Data
Pandas' to grundlæggende strukturer: Series (1D) og DataFrame (2D tabel).

import pandas as pd

# Series oprettelse
serie = pd.Series([10, 20, 30, 40], index=["a", "b", "c", "d"])
print(serie)
# a    10
# b    20
# c    30
# d    40
# dtype: int64

# DataFrame oprettelse
data = {
    "navn": ["Ahmet", "Ayşe", "Mehmet", "Zeynep"],
    "alder": [28, 34, 22, 41],
    "by": ["Istanbul", "Ankara", "Izmir", "Bursa"]
}
df = pd.DataFrame(data)
print(df)

# Læs fra fil (CSV, Excel)
df = pd.read_csv("data.csv")
df = pd.read_excel("fil.xlsx")

# Grundlæggende operationer
print(df.head(2))  # første 2 rækker
print(df.tail())  # sidste rækker
print(df.info())  # struktur info
print(df.describe())  # statistisk oversigt

# Kolonne/række valg
print(df["navn"])  # enkelt kolonne (Series)
print(df[["navn", "alder"]])  # flere
print(df.iloc[0])  # indeks række
print(df.loc[0])  # label

Filtrering

voksne = df[df["alder"] > 30]
print(voksne)

Ny kolonne tilføjelse

df["løn"] = [5000, 6000, 4500, 7000]
df["netto_løn"] = df["løn"] * 0.8

Gruppering og aggregering

alder_gennemsnit = df.groupby("by")["alder"].mean()
print(alder_gennemsnit)
løn_total = df.groupby("by").agg({"løn": "sum", "alder": "mean"})
print(løn_total)

Manglende data håndtering

df.loc[1, "alder"] = None
print(df.isnull().sum())  # antal manglende
df.dropna()  # slet manglende rækker
df.fillna(0)  # udfyld

Sammenføjning (merge, concat)

df2 = pd.DataFrame({"navn": ["Ahmet", "Mehmet"], "afdeling": ["IT", "HR"]})
sammenføjet = pd.merge(df, df2, on="navn", how="left")
print(sammenføjet)

Pivot tabel

pivot = df.pivot_table(values="løn", index="by", columns="alder", aggfunc="sum")
NumPy og Pandas Sammen Brug
Pandas bruger internt NumPy:

# Fra DataFrame til NumPy array
array = df[["alder", "løn"]].to_numpy()
print(array.mean(axis=0))  # kolonne gennemsnit

Data Visualisering Integration (Kort Introduktion)
Pandas integrerer med Matplotlib:

import matplotlib.pyplot as plt

df["alder"].plot(kind="hist")
plt.show()

df.plot(x="alder", y="løn", kind="scatter")
plt.show()

Avancerede Emner og Tips

Konklusion og Praktiske Anbefalinger
NumPy og Pandas er grundstenene i din dataanalyse rejse. Med denne guide har du forstået grundlæggende operationer. Til praksis:

Med denne guide kan du begynde at bruge NumPy og Pandas effektivt. Til eksempel datasæt eller specifik analyse, efterlad en kommentar! I 2026 vil disse biblioteker åbne store døre i din datavidenskab karriere.