Python数据分析23种Pandas核心操作方法总结
Pandas 是 Python 中最流行的数据分析库之一。本文总结了 23 种 Pandas 核心操作方法,这些方法可以帮助你更快更高效地处理和分析数据。
读取数据
1. 读取 CSV 文件
使用 pandas.read_csv()
函数来读取 CSV 格式的数据。
import pandas as pd
df = pd.read_csv('data.csv')
2. 读取 Excel 文件
使用 pandas.read_excel()
函数来读取 Excel 格式的数据。
import pandas as pd
df = pd.read_excel('data.xlsx')
数据清洗
3. 查看数据的前几行
使用 pandas.DataFrame.head()
函数可以查看 DataFrame 的前几行。
import pandas as pd
df = pd.read_csv('data.csv')
df.head()
4. 查看数据的最后几行
使用 pandas.DataFrame.tail()
函数可以查看 DataFrame 的最后几行。
import pandas as pd
df = pd.read_csv('data.csv')
df.tail()
5. 清除重复数据
使用 pandas.DataFrame.drop_duplicates()
函数可以清除 DataFrame 中的重复数据。
import pandas as pd
df = pd.read_csv('data.csv')
df.drop_duplicates()
6. 处理缺失数据
使用 pandas.DataFrame.dropna()
函数可以删除 DataFrame 中存在缺失数据的行或列,使用 pandas.DataFrame.fillna()
函数可以填充缺失数据。
import pandas as pd
df = pd.read_csv('data.csv')
df.dropna() # 删除包含缺失数据的行
df.fillna(0) # 将缺失数据填充为 0
7. 数据类型转换
使用 pandas.DataFrame.astype()
函数可以将 DataFrame 中的数据类型转换为指定的数据类型。
import pandas as pd
df = pd.read_csv('data.csv')
df[['col1', 'col2']] = df[['col1', 'col2']].astype(float) # 将 col1 和 col2 列的数据类型转换为 float
8. 排序
使用 pandas.DataFrame.sort_values()
函数可以按照指定的列对 DataFrame 进行排序。
import pandas as pd
df = pd.read_csv('data.csv')
df.sort_values('col1', ascending=False) # 按 col1 列进行降序排序
9. 更改列名
使用 pandas.DataFrame.rename()
函数可以更改 DataFrame 的列名。
import pandas as pd
df = pd.read_csv('data.csv')
df.rename(columns={'old_col_name': 'new_col_name'}) # 将 old_col_name 更改为 new_col_name
10. 过滤行
使用布尔逻辑表达式可以对行进行过滤。
import pandas as pd
df = pd.read_csv('data.csv')
df[df['col1'] > 5] # 选择 col1 大于 5 的行
数据统计
11. 描述性统计
使用 pandas.DataFrame.describe()
函数可以生成 DataFrame 的描述性统计。
import pandas as pd
df = pd.read_csv('data.csv')
df.describe() # 生成描述性统计
12. 求和
使用 pandas.DataFrame.sum()
函数可以计算 DataFrame 中的每一列的和。
import pandas as pd
df = pd.read_csv('data.csv')
df.sum() # 计算每一列的和
13. 计数
使用 pandas.DataFrame.count()
函数可以计算 DataFrame 中的非 NA/null 值的数量。
import pandas as pd
df = pd.read_csv('data.csv')
df.count() # 计算每一列的非 NA/null 值的数量
14. 分组数据
使用 pandas.DataFrame.groupby()
函数可以将 DataFrame 中的数据按照指定的列进行分组。
import pandas as pd
df = pd.read_csv('data.csv')
grouped_data = df.groupby('col1') # 按 col1 列进行分组
grouped_data.count() # 对分组后的数据进行计数
15. 聚合数据
使用 pandas.DataFrame.aggregate()
函数可以对分组后的数据进行聚合操作。
import pandas as pd
df = pd.read_csv('data.csv')
grouped_data = df.groupby('col1') # 按 col1 列进行分组
grouped_data.aggregate({'col2': 'sum', 'col3': 'max'}) # 对分组后的数据进行 sum 和 max 聚合操作
16. 透视表
使用 pandas.pivot_table()
函数可以生成透视表。
import pandas as pd
df = pd.read_csv('data.csv')
pd.pivot_table(df, values='col2', index='col1', columns='col3') # 生成透视表
数据可视化
17. 条形图
使用 pandas.DataFrame.plot.bar()
函数可以生成条形图。
import pandas as pd
df = pd.read_csv('data.csv')
df.groupby('col1')['col2'].sum().plot.bar() # 生成 col1 列与 col2 列的和的条形图
18. 折线图
使用 pandas.DataFrame.plot.line()
函数可以生成折线图。
import pandas as pd
df = pd.read_csv('data.csv')
df.groupby('col1')['col2'].sum().plot.line() # 生成 col1 列与 col2 列的和的折线图
19. 散点图
使用 pandas.DataFrame.plot.scatter()
函数可以生成散点图。
import pandas as pd
df = pd.read_csv('data.csv')
df.plot.scatter(x='col1', y='col2') # 生成 col1 列与 col2 列的散点图
20. 饼图
使用 pandas.DataFrame.plot.pie()
函数可以生成饼图。
import pandas as pd
df = pd.read_csv('data.csv')
df.groupby('col1')['col2'].sum().plot.pie() # 生成 col1 列与 col2 列的和的饼图
数据保存
21. 保存为 CSV 文件
使用 pandas.DataFrame.to_csv()
函数可以将 DataFrame 保存为 CSV 格式的文件。
import pandas as pd
df = pd.read_csv('data.csv')
df.to_csv('new_data.csv', index=False) # 将 DataFrame 保存为 new_data.csv 文件,不保存索引列
22. 保存为 Excel 文件
使用 pandas.DataFrame.to_excel()
函数可以将 DataFrame 保存为 Excel 格式的文件。
import pandas as pd
df = pd.read_csv('data.csv')
df.to_excel('new_data.xlsx', index=False) # 将 DataFrame 保存为 new_data.xlsx 文件,不保存索引列
23. 保存为 SQL 数据库
使用 pandas.DataFrame.to_sql()
函数可以将 DataFrame 保存到 SQL 数据库中。
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('sqlite:///data.db')
df = pd.read_csv('data.csv')
df.to_sql('data_table', engine, index=False, if_exists='replace') # 将 DataFrame 保存到 data_table 表中
以上是 23 种 Pandas 核心操作方法总结,覆盖了 Pandas 的读取数据、数据清洗、数据统计、数据可视化和数据保存五个方面。