page contents

100个Pandas小技巧,让你精通Python数据分析!

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

attachments-2025-04-zWehDGBd680991280f7fc.jpgPandas 常用于数据处理与分析,本文精心梳理了 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及其功能的理解。

更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

  • 发表于 2025-04-24 09:17
  • 阅读 ( 19 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
小柒
小柒

1976 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1976 文章
  3. Pack 1151 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章