创建 Series
Series 是 Pandas 中最基本的一维数据结构,可以存储不同类型的数据。本节将介绍创建 Series 的多种方法。
1. 从列表创建
import pandas as pd
# 从列表创建,默认索引为0开始的整数
data = [1, 2, 3, 4]
s = pd.Series(data)
print(s)
输出:
0 1
1 2
2 3
3 4
dtype: int64
2. 从字典创建
data = {'a': 1, 'b': 2, 'c': 3}
s = pd.Series(data)
print(s)
输出:
a 1
b 2
c 3
dtype: int64
3. 指定索引
data = [1, 2, 3]
index = ['x', 'y', 'z']
s = pd.Series(data, index=index)
print(s)
输出:
x 1
y 2
z 3
dtype: int64
4. 从标量值创建
# 创建长度为5的Series,所有值都为10
s = pd.Series(10, index=range(5))
print(s)
输出:
0 10
1 10
2 10
3 10
4 10
dtype: int64
5. 从NumPy数组创建
import numpy as np
arr = np.array([1.1, 2.2, 3.3])
s = pd.Series(arr)
print(s)
输出:
0 1.1
1 2.2
2 3.3
dtype: float64
6. 指定数据类型
data = [1, 2, 3]
s = pd.Series(data, dtype='float32')
print(s.dtype)
输出:
float32
7. 从文件读取创建
# 从CSV文件读取
s = pd.read_csv('data.csv', squeeze=True)
8. 创建带名称的Series
s = pd.Series([1, 2, 3], name='my_series')
print(s.name)
输出:
my_series
9. 创建时间序列
dates = pd.date_range('20230101', periods=3)
s = pd.Series([1, 2, 3], index=dates)
print(s)
输出:
2023-01-01 1
2023-01-02 2
2023-01-03 3
Freq: D, dtype: int64
10. 创建分类数据
s = pd.Series(['a', 'b', 'c'], dtype='category')
print(s)
输出:
0 a
1 b
2 c
dtype: category
Categories (3, object): ['a', 'b', 'c']
以上是创建 Series 的常用方法,根据不同的数据来源和需求,可以选择最适合的创建方式。
Series 的属性和方法
Series 是 Pandas 中最基本的数据结构之一,它是一个一维的标签数组。本节将介绍 Series 的常用属性和方法。
常用属性
1. values
返回 Series 的 NumPy 数组表示
import pandas as pd
s = pd.Series([1, 2, 3, 4])
print(s.values)
输出:
[1 2 3 4]
2. index
返回 Series 的索引对象
s = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
print(s.index)
输出:
Index(['a', 'b', 'c'], dtype='object')
3. dtype
返回 Series 的数据类型
s = pd.Series([1.1, 2.2, 3.3])
print(s.dtype)
输出:
float64
常用方法
1. head()
返回前 n 行数据,默认 n=5
s = pd.Series(range(10))
print(s.head(3))
输出:
0 0
1 1
2 2
dtype: int64
2. tail()
返回最后 n 行数据,默认 n=5
s = pd.Series(range(10))
print(s.tail(3))
输出:
7 7
8 8
9 9
dtype: int64
3. describe()
生成描述性统计信息
s = pd.Series([1, 2, 3, 4, 5])
print(s.describe())
输出:
count 5.0
mean 3.0
std 1.581139
min 1.0
25% 2.0
50% 3.0
75% 4.0
max 5.0
dtype: float64
4. isnull()
检测缺失值
s = pd.Series([1, None, 3])
print(s.isnull())
输出:
0 False
1 True
2 False
dtype: bool
5. fillna()
填充缺失值
s = pd.Series([1, None, 3])
print(s.fillna(0))
输出:
0 1.0
1 0.0
2 3.0
dtype: float64
6. apply()
应用函数到每个元素
s = pd.Series([1, 2, 3])
print(s.apply(lambda x: x**2))
输出:
0 1
1 4
2 9
dtype: int64
7. sort_values()
按值排序
s = pd.Series([3, 1, 2])
print(s.sort_values())
输出:
1 1
2 2
0 3
dtype: int64
8. unique()
返回唯一值数组
s = pd.Series([1, 2, 2, 3])
print(s.unique())
输出:
[1 2 3]
9. value_counts()
返回每个值的计数
s = pd.Series(['a', 'b', 'a', 'c'])
print(s.value_counts())
输出:
a 2
b 1
c 1
dtype: int64
10. drop()
删除指定索引的值
s = pd.Series([1, 2, 3], index=['a', 'b', 'c'])
print(s.drop('b'))
输出:
a 1
c 3
dtype: int64
以上是 Series 最常用的属性和方法,掌握这些可以帮助您更好地处理一维数据。