What is a Series?
A Series is a one-dimensional labeled array. Think of it as a single column from a DataFrame or an enhanced version of a Python list with labels (index).
Creating Series
Create Series from various sources:
import pandas as pd
# From list
s = pd.Series([1, 2, 3, 4, 5])
# With custom index
s = pd.Series([1, 2, 3, 4, 5], index=['a', 'b', 'c', 'd', 'e'])
# From dictionary
data = {'a': 1, 'b': 2, 'c': 3}
s = pd.Series(data)
# From NumPy array
import numpy as np
arr = np.array([1, 2, 3])
s = pd.Series(arr)
Accessing Elements
Access by label or position:
s = pd.Series([10, 20, 30], index=['a', 'b', 'c'])
# By label
print(s['a']) # 10
print(s[['a', 'c']]) # a: 10, c: 30
# By position
print(s[0]) # 10
print(s.iloc[0]) # 10 (explicit position)
# Slicing
print(s['a':'c']) # a: 10, b: 20, c: 30
Series Operations
Perform operations on Series:
s1 = pd.Series([1, 2, 3, 4])
s2 = pd.Series([5, 6, 7, 8])
# Arithmetic
print(s1 + s2) # [6, 8, 10, 12]
print(s1 * 2) # [2, 4, 6, 8]
# Comparison
print(s1 > 2) # [False, False, True, True]
# Boolean indexing
print(s1[s1 > 2]) # [3, 4]
Series Methods
Common Series methods:
s = pd.Series([1, 2, 3, 4, 5, None])
# Statistics
print(s.sum()) # Sum
print(s.mean()) # Mean
print(s.std()) # Standard deviation
print(s.count()) # Count non-null values
# Data info
print(s.describe()) # Summary statistics
print(s.value_counts()) # Count unique values
Handling Missing Data
Work with NaN values:
s = pd.Series([1, 2, None, 4, 5])
# Check for missing
print(s.isnull()) # Boolean Series
print(s.notnull()) # Inverse
# Drop missing
s_clean = s.dropna()
# Fill missing
s_filled = s.fillna(0)
Series vs DataFrame
- Series: One-dimensional (single column)
- DataFrame: Two-dimensional (multiple columns)
- DataFrame columns: Are Series objects
- Use Series: For single-variable data
- Use DataFrame: For multi-variable data
Next Steps
Learn about DataFrames which are built from Series, or explore filtering operations.