Pandas教程:Series和DataFrame

技术趋势洞察 2024-07-22 ⋅ 18 阅读

1. Series

在Pandas中,Series是一种一维标签化的数组结构。它可以存储各种数据类型,包括整数、浮点数、字符串等。使用Series可以轻松处理和操作一维数据。

1.1 创建Series

我们可以使用不同的方法创建Series。以下是常见的几种方法:

1. 使用列表创建Series

import pandas as pd

data = [1, 2, 3, 4, 5]
series = pd.Series(data)
print(series)

输出:

0    1
1    2
2    3
3    4
4    5
dtype: int64

2. 使用字典创建Series

data = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
series = pd.Series(data)
print(series)

输出:

a    1
b    2
c    3
d    4
e    5
dtype: int64

3. 使用NumPy数组创建Series

import numpy as np

data = np.array([1, 2, 3, 4, 5])
series = pd.Series(data)
print(series)

输出:

0    1
1    2
2    3
3    4
4    5
dtype: int64

1.2 访问Series元素

我们可以使用索引来访问Series中的元素。以下是一些常见的访问方法:

1. 使用索引位置访问元素

import pandas as pd

data = [1, 2, 3, 4, 5]
series = pd.Series(data)
print(series[0])

输出:

1

2. 使用标签访问元素

data = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
series = pd.Series(data)
print(series['a'])

输出:

1

1.3 Series的操作

Series支持多种操作,包括算术运算、聚合函数等。

1. 算术运算

import pandas as pd

data1 = [1, 2, 3, 4, 5]
data2 = [6, 7, 8, 9, 10]

series1 = pd.Series(data1)
series2 = pd.Series(data2)

# 加法
sum_series = series1 + series2
print(sum_series)

# 减法
diff_series = series1 - series2
print(diff_series)

# 乘法
mul_series = series1 * series2
print(mul_series)

# 除法
div_series = series1 / series2
print(div_series)

2. 聚合函数

data = [1, 2, 3, 4, 5]
series = pd.Series(data)

# 求和
sum_series = series.sum()
print(sum_series)

# 平均值
mean_series = series.mean()
print(mean_series)

# 最大值
max_series = series.max()
print(max_series)

# 最小值
min_series = series.min()
print(min_series)

2. DataFrame

DataFrame是Pandas中最重要和最常用的数据结构之一。它是一个表格化的二维数据结构,类似于Excel中的表格。DataFrame由行和列组成,可以表示结构化的、异质的数据。

2.1 创建DataFrame

我们可以使用不同的方法创建DataFrame。以下是常见的几种方法:

1. 使用字典创建DataFrame

import pandas as pd

data = {'Name': ['Tom', 'Jack', 'Steve', 'Ricky'],
        'Age': [28, 34, 29, 42]}
df = pd.DataFrame(data)
print(df)

输出:

   Name  Age
0   Tom   28
1  Jack   34
2 Steve   29
3 Ricky   42

2. 使用列表创建DataFrame

data = [['Tom', 28], ['Jack', 34], ['Steve', 29], ['Ricky', 42]]
df = pd.DataFrame(data, columns=['Name', 'Age'])
print(df)

输出:

   Name  Age
0   Tom   28
1  Jack   34
2 Steve   29
3 Ricky   42

2.2 访问DataFrame元素

我们可以使用索引和标签来访问DataFrame中的元素。以下是一些常见的访问方法:

1. 使用索引位置访问元素

import pandas as pd

data = {'Name': ['Tom', 'Jack', 'Steve', 'Ricky'],
        'Age': [28, 34, 29, 42]}
df = pd.DataFrame(data)

# 根据索引位置访问元素
print(df.iloc[0, 0])

输出:

Tom

2. 使用标签访问元素

# 根据列名访问元素
print(df['Name'][0])

输出:

Tom

2.3 DataFrame的操作

DataFrame支持多种操作,包括筛选、排序、合并等。

1. 筛选数据

import pandas as pd

data = {'Name': ['Tom', 'Jack', 'Steve', 'Ricky'],
        'Age': [28, 34, 29, 42]}
df = pd.DataFrame(data)

# 根据条件筛选数据
filtered_df = df[df['Age'] > 30]
print(filtered_df)

2. 排序数据

# 按照某一列排序数据
sorted_df = df.sort_values(by='Age')
print(sorted_df)

3. 合并数据

data1 = {'Name': ['Tom', 'Jack'],
         'Age': [28, 34]}
data2 = {'Name': ['Steve', 'Ricky'],
         'Age': [29, 42]}
df1 = pd.DataFrame(data1)
df2 = pd.DataFrame(data2)

# 将两个DataFrame按行合并
merged_df = pd.concat([df1, df2])
print(merged_df)

以上是关于Pandas中Series和DataFrame的介绍和示例。Series和DataFrame是Pandas强大的数据处理和分析工具,在数据分析和机器学习中有广泛的应用。希望通过本教程能够帮助你更好地理解和使用Pandas。


全部评论: 0

    我有话说: