在Python数据分析领域,pandas库是数据处理和分析的利器。其中,DataFrame和Series是pandas的核心数据结构,它们在数据处理和分析中扮演着至关重要的角色。本文将深入浅出地介绍DataFrame和Series的概念、用法,并通过实例帮助读者轻松掌握它们。
什么是DataFrame和Series?
DataFrame
DataFrame可以看作是表格数据的一种表示形式,它由行和列组成,类似于Excel表格。DataFrame中的每一列可以拥有不同的数据类型,这使得DataFrame非常适合存储和分析结构化数据。
import pandas as pd
# 创建一个简单的DataFrame
data = {
'Name': ['Tom', 'Nick', 'John'],
'Age': [25, 30, 22],
'City': ['New York', 'London', 'Paris']
}
df = pd.DataFrame(data)
print(df)
Series
Series是DataFrame的列,也可以看作是一维数组。它与NumPy数组类似,但拥有更多的数据结构功能,例如索引和名称。
# 创建一个简单的Series
age_series = pd.Series([25, 30, 22])
print(age_series)
DataFrame与Series的用法
创建DataFrame
DataFrame可以通过多种方式创建,例如直接从列表、字典、NumPy数组等数据结构中创建。
# 从列表创建DataFrame
data = [['Tom', 25, 'New York'], ['Nick', 30, 'London'], ['John', 22, 'Paris']]
df = pd.DataFrame(data, columns=['Name', 'Age', 'City'])
print(df)
# 从字典创建DataFrame
data = {'Name': ['Tom', 'Nick', 'John'], 'Age': [25, 30, 22], 'City': ['New York', 'London', 'Paris']}
df = pd.DataFrame(data)
print(df)
创建Series
Series可以通过多种方式创建,例如直接从列表、NumPy数组、Pandas DataFrame的列等数据结构中创建。
# 从列表创建Series
age_series = pd.Series([25, 30, 22])
print(age_series)
# 从NumPy数组创建Series
import numpy as np
age_array = np.array([25, 30, 22])
age_series = pd.Series(age_array)
print(age_series)
# 从DataFrame的列创建Series
name_series = df['Name']
print(name_series)
DataFrame与Series的常用操作
1. 数据筛选
# 筛选年龄大于25的记录
filtered_df = df[df['Age'] > 25]
print(filtered_df)
2. 数据合并
# 将两个DataFrame合并
new_data = {'City': ['Berlin', 'Tokyo']}
new_df = pd.DataFrame(new_data)
combined_df = pd.concat([df, new_df], ignore_index=True)
print(combined_df)
3. 数据排序
# 按年龄降序排序
sorted_df = df.sort_values(by='Age', ascending=False)
print(sorted_df)
总结
DataFrame和Series是Python数据分析中不可或缺的工具。通过本文的介绍,相信读者已经对DataFrame和Series有了基本的了解。在实际应用中,熟练运用DataFrame和Series将大大提高数据分析的效率。希望本文能帮助读者在数据分析的道路上越走越远。