前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Pandas常用命令汇总,建议收藏!

Pandas常用命令汇总,建议收藏!

作者头像
小F
发布2023-08-21 17:01:36
4670
发布2023-08-21 17:01:36
举报
文章被收录于专栏:用户6291251的专栏

大家好,我是小F~

Pandas是一个开源Python库,广泛用于数据操作和分析任务。

它提供了高效的数据结构和功能,使用户能够有效地操作和分析结构化数据。

凭借其广泛的功能,Pandas 对于数据清理、预处理、整理和探索性数据分析等活动具有很大的价值。

Pandas的核心数据结构是Series和DataFrame。

Series是一个一维标记数组,可以容纳多种数据类型。DataFrame则是一种二维表状结构,由行和列组成,类似于电子表格或SQL表。

利用这些数据结构以及广泛的功能,用户可以快速加载、转换、过滤、聚合和可视化数据。

Pandas与其他流行的Python库(如NumPy、Matplotlib和scikit-learn)快速集成。

这种集成促进了数据操作、分析和可视化的工作流程。

由于其直观的语法和广泛的功能,Pandas已成为数据科学家、分析师和研究人员在 Python中处理表格或结构化数据的首选工具。

在这篇文章中,我将介绍Pandas的所有重要功能,并清晰简洁地解释它们的用法。

/ 01 /

使用Pandas导入数据并读取文件

要使用pandas导入数据和读取文件,我们可以使用库提供的read_*函数。

代码语言:javascript
复制
# 导入Pandas
import pandas as pd 

# 使用Pandas读取文件

# 读取CSV文件
df = pd.read_csv('file.csv')

# 读取Excel文件
df = pd.read_excel('file.xlsx')

# 读取JSON文件
 df = pd.read_json('file.json')

# 读取Sql查询
pd.read_sql(query, connection_object)

# 读取Parquet文件
df = pd.read_parquet('file.parquet')

# 从url读取HTML表
url='https://www.example.com/table.html'
tables = pd.read_html(url)

/ 02 /

查看和检查对象

在Pandas中处理数据时,我们可以使用多种方法来查看和检查对象,例如

DataFrame和Series。

代码语言:javascript
复制
# 用于显示数据的前n行
df.head(n)

# 用于显示数据的后n行
df.tail(n)

# 用于获取数据的行数和列数
df.shape

# 用于获取数据的索引、数据类型和内存信息
df.info()

/ 03 /

使用Pandas进行数据选择

Pandas提供了各种数据选择方法,允许你从DataFrame或Series中提取特定数据。

代码语言:javascript
复制
# 用于获取带有标签列的series
df[column]

# 选择多列
df[['column_name1', 'column_name2']]

# 通过标签选择单行
df.loc[label] 

# 通过标签选择多行
df.loc[[label1, label2, label3]]

# 通过整数索引选择单行
df.iloc[index]

# 通过整数索引选择多行
df.iloc[start_index:end_index]

# 根据条件过滤行
df[df['column_name'] > 5 ] 

# 使用多个条件过滤行
df[(df['column_name1'] > 5) & (df['column_name2'] == 'value')]

# 通过标签选择特定的行和列
df.loc[row_labels, column_labels]

# 通过整数索引选择特定的行和列
df.iloc[row_indices, column_indices] 

# 根据条件选择数据框中的行和列
df.loc[df['column_name'] > 5, ['column_name1', 'column_name2']]

/ 04 /

数据清洗

数据清洗是数据预处理阶段的重要步骤,在此阶段对数据进行转换和修改以确保其准确性、一致性和可靠性。

代码语言:javascript
复制
# 检查缺失值
df.isnull() 

# 删除有缺失值的行
df.dropna()

# 用特定值填充缺失值
df.fillna(value) 

# 插入缺失值
df.interpolate()

# 检查重复行
df.duplicated()

# 删除重复行
df.drop_duplicates()

# 计算z分数
z_scores = (df - df.mean()) / df.std()

# 根据z分数识别离群值
 = df[z_scores > threshold]

# 删除离群值
df_cleaned = df[z_scores <= threshold]

# 替换列中的值
df['column_name'] = df['column_name'].str.replace('old_value', 'new_value')

# 删除前/尾空格
df['column_name'] = df['column_name'].str.strip()

# 将字符串转换为小写
df['column_name'] = df['column_name'].str.lower()

# 将列转换为不同的数据类型
df['column_name'] = df['column_name'].astype('new_type')

# 将列转换为日期时间
df['date_column'] = pd.to_datetime(df['date_column'])

# 重命名列名
df.columns = ['Cat', 'Mat', 'Xat'] 

# 重置DataFrame的索引
df.reset_index()

/ 05 /

过滤、排序和分组

Pandas是一个强大的Python库,用于数据操作和分析。

它提供了各种函数来过滤、排序和分组DataFrame中的数据。

代码语言:javascript
复制
# 根据条件过滤行
df_filtered = df[df['column_name'] > 5]

# 按单列对DataFrame进行排序
df_sorted = df.sort_values('column_name')

# 按多列对DataFrame进行排序
df_sorted = df.sort_values(['column_name1', 'column_name2'], ascending=[True, False])

# 按单列对DataFrame进行分组并计算另一列的平均值
grouped_data = df.groupby('column_name')['other_column'].mean()

# 按多列对DataFrame进行分组并计算另一列的总和
grouped_data = df.groupby(['column_name1', 'column_name2'])['other_column'].sum()

# 计算列的总和
sum_value = df['column_name'].sum ()

# 计算列的平均值
mean_value = df['column_name'].mean()

# 计算列的最大值
max_value = df['column_name'].max()

# 计算列的最小值
min_value = df[ 'column_name' ].min()

# 统计列中非空值的个数
count = df['column_name'].count() 

# 对DataFrame进行分组并重置索引
grouped_data = df.groupby('column_name')['other_column'].sum().reset_index()

/ 06 /

加入/合并

在pandas中,你可以使用各种函数基于公共列或索引来连接或组合多个DataFrame。

代码语言:javascript
复制
# 将df中的行添加到df2的末尾
df.append(df2)

# 将df中的列添加到df2的末尾
pd.concat([df, df2])

# 对列A执行外连接
outer_join = pd.merge(df1, df2, on='A', how='outer'), axis =1)

# 对列A执行内连接
inner_join = pd.merge(df1, df2, on='A', how='inner')

# 对列A执行左连接
left_join = pd.merge(df1, df2, on='A', how='left') 

# 对列A执行右连接
right_join = pd.merge(df1, df2, on='A', how='right')

/ 07 /

Pandas中的统计

Pandas提供了广泛的统计函数和方法来分析DataFrame或Series中的数据。

代码语言:javascript
复制
# 计算数值列的描述性统计
df.describe()

# 计算某列的总和
df['column_name'].sum()

# 计算某列的平均值
df['column_name'].mean()

# 计算某列的最大值
df['column_name'].max()

# 计算某列中非空值的数量
df['column_name'].count()

# 计算列中某个值的出现次数
df['column_name'].value_counts()

/ 08 /

导出数据

Pandas是一个用于数据操作和分析的强大Python库。

它提供了将数据导出为不同格式的各种功能。

代码语言:javascript
复制
# 以csv格式导出, 不带行索引导出
df.to_csv('filename.csv', index=False)

# 以Excel格式导出, 不带行索引导出
data.to_excel('filename.xlsx', index=False)

# 导出Json格式
data.to_json('filename.json', orient='records') 

# 以SQL格式导出
data.to_sql('table_name', con=engine, if_exists='replace', index=False)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 法纳斯特 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档