机器学习初学者 03月20日
【Python】100个Pandas小技巧,让你精通Python数据分析
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文梳理了 100 个 Pandas 要点,涵盖数据处理与分析的多方面,包括基础操作、数据操作、索引选择、时间序列等,助您驾驭各类数据任务。

🎈Pandas基础:如导入库、数据转化、读取文件等操作

💡数据操作:涉及向量化操作、创建新列、数据分组等

🔍索引和选择:包括布尔索引、基于标签和整数的索引等

⏱️时间序列数据:如转换为日期时间类型、重采样等

🧹数据清洗和预处理:如删除重复行、转换字符串等

学研君 2025-03-19 12:04 浙江

掌握这 100 个 Pandas 要点,数据处理不再愁!Pandas 常用于数据处理与分析,本文精心梳理了

掌握这 100 个 Pandas 要点,数据处理不再愁!

Pandas 常用于数据处理与分析,本文精心梳理了 100 个 Pandas 要点,助你驾驭各类数据任务。

1 Pandas基础

    使用import pandas as pd导入Pandas库。
    使用pd.DataFrame()函数,将字典数据转化为 DataFrame 格式,便于数据处理与分析。
    使用pd.read_csv()将CSV文件中的数据加载到DataFrame中。
    使用df.head()df.tail()查看DataFrame的前几行和最后几行。
    使用df.columns访问列名。
    使用df.index访问索引信息。
    使用df.describe()获取数值列的汇总统计信息。
    使用df.dtypes查看每列的数据类型。
    使用df.info()获取DataFrame的简洁摘要。
    使用df['column_name']选择单个列。
    使用df[['col1', 'col2']]选择多个列。
    使用df.loc[index_label]通过索引标签访问行。
    使用df.iloc[row_index]通过整数索引访问行。
    使用df.shape获取DataFrame的维度(行数,列数)。
    使用df.set_index('column_name')设置新的索引。
    使用df.reset_index()重置索引。
    使用df.rename(columns={'old_name': 'new_name'})重命名列。
    使用df.drop(columns=['col1', 'col2'])删除列。
    使用df.dropna()删除含有缺失值的行。
    使用df.fillna(value)用特定值填充缺失值。
    使用df.isnull()检查是否存在缺失值。

2 数据操作

    使用向量化操作对列执行元素级操作。
    根据现有列创建新列。
    使用df['column'].apply()将函数应用于列的每个元素。
    使用df.groupby('column')按列对数据进行分组。
    分组后使用sum()mean()等函数对数据进行聚合。
    使用pd.pivot_table()创建透视表进行多级分组。
    使用df.sort_values('column')按列值对DataFrame进行排序。
    使用df.sort_index()按索引对DataFrame进行排序。
    使用pd.concat([df1, df2])垂直连接DataFrame。
    使用pd.merge()在指定列上合并DataFrame。
    使用pd.merge()how参数执行类似SQL的连接操作。
    使用pd.concat([df1, df2], axis=1)合并具有相同索引的DataFrame。
    使用df['column'].replace(old_value, new_value)替换列中的值。
    使用pd.get_dummies(df['column'])创建虚拟变量。
    使用pd.cut()将数值数据划分为离散区间。
    使用df.applymap()将函数应用于DataFrame的每个元素。

3 索引和选择

    使用布尔索引根据条件选择行。
    使用df.loc[]进行基于标签的索引。
    使用df.iloc[]进行基于整数的索引。
    使用df.ix[]进行混合标签和整数的索引(在最新版本中已弃用)。
    使用&(与)、|(或)和~(非)运算符连接多个条件。
    使用isin()根据值列表过滤DataFrame的行。
    使用between()根据值的范围过滤DataFrame的行。
    使用df.loc[]同时选择特定的行和列。
    使用df.select_dtypes()根据数据类型选择列。
    使用df.query('condition')通过表达式查询DataFrame。
    使用布尔索引根据条件设置值。

4 时间序列数据

    使用pd.to_datetime(df['column'])将列转换为日期时间类型。
    使用df.set_index('column')将某列设置为索引。
    使用df.resample('frequency')对时间序列数据进行重采样。
    使用df.loc['YYYY-MM-DD']访问特定时间的元素。
    使用df['column'].diff()计算日期之间的时间差。
    使用df['column'].shift(periods)移动时间序列数据。
    使用rolling()对时间序列数据进行滚动窗口计算。
    使用dt访问器访问日期时间列的组件(例如,df['column'].dt.day)。
    使用groupby()resample()执行基于时间的分组操作。

5 数据清洗和预处理

    使用df.drop_duplicates()删除重复行。
    使用df['column'].str.lower()将字符串转换为小写。
    使用df['column'].str.strip()去除字符串前后的空格。
    使用df['column'].replace({'old_val': 'new_val'})替换值。
    使用df.drop_duplicates(subset='column')删除特定列中具有重复值的行。

6 使用Pandas进行可视化

    使用df.plot()进行基本绘图。
    使用df.plot(x='col1', y='col2')绘制特定列之间的关系图。
    在使用df.plot()后,使用Matplotlib函数自定义绘图。
    使用df.plot(kind='bar')创建条形图。
    使用df['column'].plot(kind='hist')创建直方图。
    使用df.boxplot(column='column')创建箱线图。

7 使用Pandas进行文件输入/输出

    使用df.to_csv('file.csv')将DataFrame保存为CSV文件。
    使用df.to_excel('file.xlsx')将DataFrame保存为Excel文件。
    使用pd.read_excel('file.xlsx')从Excel文件读取数据。
    使用pd.read_json('file.json')从JSON文件读取数据。
    使用df.to_json('file.json')将DataFrame保存为JSON文件。
    使用pd.read_sql('SELECT * FROM table', connection)从SQL数据库读取数据。

8 高级主题

    使用pd.MultiIndex.from_arrays()创建多级索引DataFrame。
    使用df.stack()df.unstack()堆叠和展开多级索引的层级。
    使用pd.melt()将DataFrame从宽格式转换为长格式。
    使用swifter进行并行处理以加快操作速度。
    使用pd.options.display自定义显示选项。

9 处理分类数据

    使用df['column'].astype('category')将列转换为分类类型。
    使用df['column'].cat.codes访问分类代码。
    使用df['column'].cat.rename_categories(new_categories)重命名分类。

10 自定义函数

    使用groupby().apply()将函数应用于每个分组。
    使用df['column'].map()将自定义函数应用于每个元素。
    使用df.apply()按元素应用函数。

11 重采样时间序列数据

    使用df.resample('frequency')对时间序列数据进行重采样。
    重采样时使用聚合函数,如sum()mean()等。

12 处理文本数据

    使用str访问器访问字符串方法(例如,df['column'].str.lower())。
    使用str.contains()进行字符串匹配。
    使用str.extract()使用正则表达式提取信息。

13 内存管理

    使用df.memory_usage()分析内存使用情况。
    通过选择合适的数据类型(astype())减少内存使用。

14 GroupBy操作

    使用df.groupby(['col1', 'col2'])进行多级分组。
    在分组操作后使用agg()聚合多个函数。
    使用agg()对多个列应用多个函数。

15 合并DataFrame

    使用pd.concat()并设置axis=1水平合并DataFrame。
    使用pd.merge()基于公共列合并DataFrame。

16 地理空间数据

    使用geopandas结合Pandas处理地理空间数据。
    使用geopandas执行空间操作,如叠加和相交。
    使用geopandas.plot()可视化地理空间数据。

这些技巧涵盖了Pandas的广泛功能,从基本的数据操作到处理时间序列、分类数据等的高级技术。在实际数据集上尝试这些技巧,有助于巩固你对Pandas及其功能的理解。


阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Pandas 数据处理 时间序列 数据清洗 索引选择
相关文章