网站的百度百科怎么做备案时暂时关闭网站
Pandas 是 Python 中非常流行的数据分析和处理库,特别适用于处理结构化数据。它构建在 NumPy 之上,提供了更高级的功能,例如数据清理、整理、筛选和统计分析。Pandas 的核心数据结构是 Series 和 DataFrame,分别用于处理一维数据和二维数据。
下面是 Pandas 的详细用法介绍:
1. 导入Pandas
在使用 Pandas 之前,首先需要导入库,通常使用别名 pd:
import pandas as pd
 
2. 数据结构
a) Series:一维数据结构
 
Series 是一种类似于 Python 列表或字典的对象,但每个数据项都有一个索引。
# 创建一个简单的Series
s = pd.Series([1, 3, 5, 7, 9])
print(s)
# 输出:
# 0    1
# 1    3
# 2    5
# 3    7
# 4    9
# dtype: int64
 
可以为 Series 自定义索引:
s = pd.Series([1, 3, 5, 7, 9], index=['a', 'b', 'c', 'd', 'e'])
print(s)
# 输出:
# a    1
# b    3
# c    5
# d    7
# e    9
# dtype: int64
 
b) DataFrame:二维数据结构
 
DataFrame 是 Pandas 中最常用的数据结构,可以理解为一个二维表格,类似于数据库中的表格或 Excel 表。
# 从字典创建DataFrame
data = {'Name': ['Tom', 'Jerry', 'Mickey'],'Age': [20, 22, 21],'Score': [88, 92, 95]}df = pd.DataFrame(data)
print(df)
# 输出:
#      Name  Age  Score
# 0     Tom   20     88
# 1   Jerry   22     92
# 2  Mickey   21     95
 
3. 读取数据
a) 读取CSV文件
Pandas 可以轻松地读取各种文件格式,比如 CSV 文件、Excel 文件、SQL 数据库等。
# 读取CSV文件
df = pd.read_csv('data.csv')
print(df.head())  # 查看前5行数据
 
b) 读取Excel文件
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
print(df.head())
 
4. 数据选择
a) 选择列
你可以通过列名来选择 DataFrame 中的某一列或多列。
# 选择单列
print(df['Name'])# 选择多列
print(df[['Name', 'Score']])
 
b) 选择行:使用loc和iloc
 
loc是通过标签进行索引。iloc是通过整数位置进行索引。
# 通过标签选择行
print(df.loc[0])  # 选择第1行# 通过整数位置选择行
print(df.iloc[1])  # 选择第2行# 选择多行多列
print(df.loc[0:2, ['Name', 'Age']])
 
5. 数据过滤和条件筛选
Pandas 提供了方便的方式来对数据进行条件筛选。
# 筛选年龄大于21的数据
filtered_df = df[df['Age'] > 21]
print(filtered_df)# 多条件筛选
filtered_df = df[(df['Age'] > 20) & (df['Score'] > 90)]
print(filtered_df)
 
6. 数据清理
a) 处理缺失值
缺失值在数据分析中非常常见,Pandas 提供了多种方法来处理它们。
# 查看缺失值情况
print(df.isnull())# 删除包含缺失值的行
df_cleaned = df.dropna()
print(df_cleaned)# 用指定值填充缺失值
df_filled = df.fillna(0)
print(df_filled)
 
b) 删除重复值
df_deduped = df.drop_duplicates()
print(df_deduped)
 
c) 修改列名
df.rename(columns={'Name': 'Student Name', 'Age': 'Student Age'}, inplace=True)
print(df)
 
7. 数据转换
a) 数据类型转换
# 将'Age'列转换为浮点数
df['Age'] = df['Age'].astype(float)
print(df.dtypes)
 
b) 应用函数:apply() 和 map()
 
# 对DataFrame的列应用函数
df['Score'] = df['Score'].apply(lambda x: x + 5)
print(df)# 对Series应用函数
df['Name'] = df['Name'].map(lambda x: x.upper())
print(df)
 
8. 数据统计和分析
Pandas 提供了丰富的统计函数和聚合功能,方便进行快速的数据分析。
a) 描述性统计
# 基本统计信息
print(df.describe())
 
b) 分组聚合
# 按'Age'列分组,计算'Score'的平均值
grouped_df = df.groupby('Age')['Score'].mean()
print(grouped_df)
 
c) 透视表(Pivot Table)
# 创建透视表
pivot_table = pd.pivot_table(df, values='Score', index='Age', aggfunc='mean')
print(pivot_table)
 
9. 数据的合并和连接
a) 合并数据
可以使用 merge() 函数将两个 DataFrame 进行合并,类似 SQL 中的 join。
# 左连接合并
df1 = pd.DataFrame({'ID': [1, 2, 3], 'Name': ['Alice', 'Bob', 'Charlie']})
df2 = pd.DataFrame({'ID': [1, 2, 4], 'Score': [85, 90, 95]})merged_df = pd.merge(df1, df2, on='ID', how='left')
print(merged_df)
 
b) 连接数据
可以使用 concat() 函数进行数据的纵向或横向拼接。
# 纵向拼接
df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]})concatenated_df = pd.concat([df1, df2], axis=0)
print(concatenated_df)
 
10. 数据可视化
Pandas 可以与 Matplotlib 配合使用进行简单的数据可视化。
import matplotlib.pyplot as plt# 简单的折线图
df['Score'].plot()
plt.show()# 柱状图
df['Score'].plot(kind='bar')
plt.show()
 
11. 导出数据
a) 导出到CSV文件
df.to_csv('output.csv', index=False)
 
b) 导出到Excel文件
df.to_excel('output.xlsx', sheet_name='Sheet1', index=False)
 
12. 时间序列处理
Pandas 提供了非常强大的时间序列功能,可以方便地进行时间戳数据的处理。
# 创建时间序列
date_range = pd.date_range('2024-01-01', periods=5, freq='D')
print(date_range)# 将时间戳作为索引
df_time = pd.DataFrame({'Value': [1, 2, 3, 4, 5]}, index=date_range)
print(df_time)
 
总结
Pandas 是一个强大而灵活的数据分析工具,能够处理从简单到复杂的数据操作,适合于处理表格数据、时间序列数据、统计分析等。Pandas 提供的高级数据结构和丰富的函数库使得数据分析任务变得更加高效。
