菜鸟科技网

pandas常用命令有哪些?

pandas作为Python数据分析的核心库,提供了丰富的数据结构和操作方法,能够高效处理结构化数据,其常用命令涵盖了数据读取、清洗、转换、分析、可视化等全流程,掌握这些命令是数据分析的基础,以下从数据读取与创建、数据查看与探索、数据清洗与预处理、数据筛选与过滤、数据分组与聚合、数据合并与重塑、时间序列处理、数据导出与可视化八个维度,详细介绍pandas的常用命令。

pandas常用命令有哪些?-图1
(图片来源网络,侵删)

数据读取与创建

pandas支持从多种数据源读取数据,最常用的函数是read_csv()read_excel(),分别用于读取CSV和Excel文件。pd.read_csv('data.csv', encoding='utf-8')可读取CSV文件,pd.read_excel('data.xlsx', sheet_name='Sheet1')可读取Excel指定工作表。read_json()用于读取JSON文件,read_sql()可从数据库查询结果直接创建DataFrame,创建DataFrame的常用方式包括通过字典创建,如data = {'col1': [1, 2], 'col2': [3, 4]}; df = pd.DataFrame(data);通过列表创建,如df = pd.DataFrame([[1, 2], [3, 4]], columns=['A', 'B']);以及使用pd.Series创建一维数据结构。

数据查看与探索

数据加载后,需通过命令快速了解数据概况。df.head(n)查看前n行数据,默认为5行;df.tail(n)查看后n行;df.info()显示数据概要,包括列名、非空值数量、数据类型等;df.describe()生成描述性统计,如计数、均值、标准差、最小值、四分位数等;df.shape返回数据的行数和列数;df.columns查看列名列表;df.index查看索引信息;df.dtypes查看各列数据类型;df.isnull().sum()统计每列的缺失值数量。

数据清洗与预处理

数据清洗是分析的关键步骤,处理缺失值时,df.dropna()可删除含缺失值的行或列,如df.dropna(axis=0, how='any')删除任何含缺失值的行;df.fillna(value)填充缺失值,如df['col'].fillna(df['col'].mean())用均值填充,处理重复值时,df.drop_duplicates()删除重复行,df.duplicated()检测重复值,数据类型转换通过df['col'].astype('type')实现,如将字符串转为数值类型,字符串处理使用str访问器,如df['col'].str.lower()转为小写,df['col'].str.contains('pattern')检测是否包含特定模式,异常值处理可通过df[(df['col'] > lower_bound) & (df['col'] < upper_bound)]过滤。

数据筛选与过滤

pandas支持灵活的数据筛选,按列筛选时,df[['col1', 'col2']]选择指定列;按行筛选时,df[df['col'] > value]根据条件筛选行,如筛选出年龄大于30的记录,逻辑运算符&(与)、(或)、(非)可组合多个条件,需注意用括号分隔条件,如df[(df['age'] > 30) & (df['gender'] == 'Male')]df.loc[]基于标签筛选,如df.loc[0:5, 'name':'age']选择前6行的name到age列;df.iloc[]基于位置筛选,如df.iloc[0:5, 0:2]选择前6行前2列。df.query('col > value')可通过字符串表达式筛选,语法更简洁。

pandas常用命令有哪些?-图2
(图片来源网络,侵删)

数据分组与聚合

分组聚合是数据分析的核心操作,通过groupby()实现。df.groupby('col').agg({'col1': 'mean', 'col2': 'sum'})按col列分组,计算col1的均值和col2的和,聚合函数包括sum()mean()count()max()min()std()var()等,多列分组可传入列表,如df.groupby(['col1', 'col2']).agg('size'),分组后还可应用自定义函数,如df.groupby('col').apply(lambda x: x.max() - x.min())pivot_table()用于创建透视表,如pd.pivot_table(df, values='col', index='row_col', columns='col_col', aggfunc='mean')

数据合并与重塑

数据合并包括纵向合并和横向合并。pd.concat([df1, df2], axis=0)按行合并(默认),axis=1按列合并;pd.merge(df1, df2, on='key', how='inner')类似SQL的连接,how参数支持'inner'、'left'、'right'、'outer'四种连接方式,数据重塑通过melt()将宽表转为长表,如df.melt(id_vars=['id'], value_vars=['col1', 'col2'], var_name='variable', value_name='value')pivot()将长表转为宽表,如df.pivot(index='id', columns='variable', values='value')

时间序列处理

pandas提供了强大的时间序列功能,将列转为时间类型用pd.to_datetime(df['col']),创建时间索引通过df.index = pd.date_range(start='2023-01-01', periods=len(df)),时间序列重采样使用resample(),如df.resample('M').mean()按月重采样并计算均值;时间偏移用pd.Timedelta(days=1),如df['date'] + pd.Timedelta(days=1),提取时间特征如df['year'] = df['date'].dt.yeardf['month'] = df['date'].dt.month

数据导出与可视化

分析结果需导出或可视化,导出数据用df.to_csv('output.csv', index=False)导出CSV,df.to_excel('output.xlsx', index=False)导出Excel,df.to_sql('table', con=engine)导出数据库,可视化通过plot()方法实现,如df['col'].plot(kind='line')绘制折线图,kind参数支持'bar'(柱状图)、'hist'(直方图)、'scatter'(散点图)、'box'(箱线图)等,结合matplotlib可自定义图表样式。

pandas常用命令有哪些?-图3
(图片来源网络,侵删)

以下为常用命令的总结表格:

功能类别 常用命令 说明
数据读取 pd.read_csv() 读取CSV文件
pd.read_excel() 读取Excel文件
数据创建 pd.DataFrame() 通过字典或列表创建DataFrame
数据查看 df.head()/df.tail() 查看前/后n行数据
df.info()/df.describe() 查看数据概要/描述性统计
数据清洗 df.dropna()/df.fillna() 删除/填充缺失值
df.drop_duplicates() 删除重复值
数据筛选 df.loc[]/df.iloc[] 基于标签/位置筛选
df[df['col'] > value] 条件筛选
分组聚合 df.groupby().agg() 分组并应用聚合函数
数据合并 pd.concat()/pd.merge() 纵向/横向合并数据
时间序列 pd.to_datetime() 转换为时间类型
df.resample() 时间序列重采样
数据导出 df.to_csv()/df.to_excel() 导出为CSV/Excel文件
可视化 df.plot(kind='line') 绘制折线图等

相关问答FAQs

Q1: 如何处理DataFrame中的缺失值?
A1: 处理缺失值的方法取决于数据量和业务需求,常用方法包括:①删除缺失值,使用df.dropna(subset=['col'])删除指定列的缺失值;②填充缺失值,用均值(df['col'].fillna(df['col'].mean()))、中位数、众数或固定值填充;③插值法,如df['col'].interpolate()线性插值,若缺失值较少且分布随机,删除或填充均可;若缺失值较多,需分析缺失原因,避免引入偏差。

Q2: 如何实现多列分组并计算多个聚合函数?
A2: 使用groupby()结合agg()方法,传入字典指定每列的聚合函数,按“部门”和“性别”分组,计算“薪资”的均值和最大值、“年龄”的中位数,可写为:df.groupby(['部门', '性别']).agg({'薪资': ['mean', 'max'], '年龄': 'median'}),字典的键为列名,值为函数名或函数列表,结果将生成多级索引的DataFrame,便于进一步分析。

分享:
扫描分享到社交APP
上一篇
下一篇