一、引言
Pandas 是 Python 中一个强大的数据分析库,广泛应用于数据处理、数据清洗和数据分析等领域。本文将介绍 39 个常用的 Pandas 方法,帮助你更好地掌握这个库的使用。让我们一起探索 Pandas 的魔法之旅吧!
如果你觉得这些技巧对你有帮助,不妨点赞和收藏哦!
二、五十个 Pandas 中最常用方法
1. 数据结构创建与导入导出
创建数据结构
-
pd.Series()
创建一个 Pandas Series。import pandas as pd series = pd.Series([1, 2, 3, 4]) print(series)解释:
pd.Series(data)用于将列表或其他序列转换为 Pandas Series。 -
pd.DataFrame()
创建一个 Pandas DataFrame。data = {'A': [1, 2], 'B': [3, 4]} df = pd.DataFrame(data) print(df)解释:
pd.DataFrame(data)用于将字典或其他数据结构转换为 DataFrame。
数据导入与导出
-
pd.read_csv()
从 CSV 文件读取数据。df = pd.read_csv('data.csv') print(df.head())解释:
pd.read_csv(filepath)从指定路径读取 CSV 文件并返回 DataFrame。 -
pd.to_csv()
将 DataFrame 保存为 CSV 文件。df.to_csv('output.csv', index=False)解释:
df.to_csv(filepath)将 DataFrame 保存为 CSV 文件。 -
pd.read_excel()
从 Excel 文件读取数据。df = pd.read_excel('data.xlsx')解释:
pd.read_excel(filepath)从指定路径读取 Excel 文件并返回 DataFrame。 -
df.to_excel()
将 DataFrame 保存为 Excel 文件。df.to_excel('output.xlsx', index=False)解释:
df.to_excel(filepath)将 DataFrame 保存为 Excel 文件。
2. 数据查看与信息
查看数据
-
df.head()
返回 DataFrame 的前 n 行。print(df.head(3))解释:
df.head(n)返回 DataFrame 的前 n 行,默认 n 为 5。 -
df.tail()
返回 DataFrame 的后 n 行。print(df.tail(3))解释:
df.tail(n)返回 DataFrame 的后 n 行,默认 n 为 5。 -
df.info()
显示 DataFrame 的基本信息。df.info()解释:
df.info()显示 DataFrame 的数据类型、非空值数量等信息。 -
df.describe()
生成描述性统计信息。print(df.describe())解释:
df.describe()返回 DataFrame 中数值列的描述性统计信息。
检查缺失值
-
df.isnull()
检查缺失值。print(df.isnull())解释:
df.isnull()返回一个布尔 DataFrame,指示每个元素是否为缺失值。 -
df.dropna()
删除缺失值。df_cleaned = df.dropna()解释:
df.dropna()返回一个删除了缺失值的 DataFrame。 -
df.fillna()
填充缺失值。df_filled = df.fillna(0)解释:
df.fillna(value)用指定的值填充缺失值。
3. 数据选择与索引
按标签与位置选择
-
df.loc[]
按标签选择数据。row = df.loc[0] print(row)解释:
df.loc[label]根据标签选择行或列。 -
df.iloc[]
按位置选择数据。row = df.iloc[0] print(row)解释:
df.iloc[index]根据整数位置选择行或列。 -
df.at[]
访问单个标量值。value = df.at[0, 'A'] print(value)解释:
df.at[row, column]返回指定单元格的值。 -
df.iat[]
访问单个标量值(按位置)。value = df.iat[0, 0] print(value)解释:
df.iat[row_index, column_index]返回指定位置的值。
获取列名与索引
-
df.columns
获取列名。print(df.columns)解释:
df.columns返回 DataFrame 的列名。 -
df.index
获取行索引。print(df.index)解释:
df.index返回 DataFrame 的行索引。
4. 数据处理与变换
排序与重命名
-
df.rename()
重命名列或索引。df_renamed = df.rename(columns={'A': 'Alpha'})解释:
df.rename(columns={old_name: new_name})用于重命名列。 -
df.sort_values()
按列排序。df_sorted = df.sort_values(by='B', ascending=False)解释:
df.sort_values(by=column)按指定列排序。
数据变换
-
df.apply()
应用函数到 DataFrame。df['C'] = df['A'].apply(lambda x: x * 2)解释:
df.apply(func)将函数应用于 DataFrame 的每一列或每一行。 -
df.shift()
移动数据。df['Shifted'] = df['A'].shift(1)解释:
df['column'].shift(periods)将数据向下移动指定的行数。 -
df.diff()
计算离散差。df['Diff'] = df['A'].diff()解释:
df['column'].diff()返回相邻元素之间的差。
5. 数据聚合与分组
分组与聚合
-
df.groupby()
分组数据。grouped = df.groupby('A').sum() print(grouped)解释:
df.groupby(column)根据指定列分组并可以进行聚合操作。 -
df.agg()
分组并聚合。grouped = df.groupby('A').agg({'B': 'sum', 'C': 'mean'})解释:
df.groupby(column).agg({column: function})根据列分组并聚合。 -
df.pivot_table()
创建数据透视表。pivot = df.pivot_table(values='C', index='A', columns='B', aggfunc='sum')解释:
df.pivot_table()创建一个数据透视表。
6. 数据连接与合并
合并与连接
-
df.merge()
合并两个 DataFrame。df_merged = pd.merge(df1, df2, on='key')解释:
pd.merge(df1, df2)根据指定的键合并两个 DataFrame。 -
pd.concat()
连接多个 DataFrame。df_concatenated = pd.concat([df1, df2], axis=0)解释:
pd.concat([df1, df2])连接多个 DataFrame。
7. 数据分析与统计
统计分析
-
df.corr()
计算相关系数矩阵。correlation_matrix = df.corr()解释:
df.corr()返回 DataFrame 中数值列之间的相关系数矩阵。 -
df.value_counts()
计算唯一值的频率。counts = df['A'].value_counts()解释:
df['column'].value_counts()返回指定列的唯一值计数。
8. 数据格式转换
格式转换
-
df.to_numpy()
将 DataFrame 转换为 NumPy 数组。array = df.to_numpy()解释:
df.to_numpy()返回 DataFrame 的 NumPy 表示。 -
df.astype()
转换数据类型。df['A'] = df['A'].astype(float)解释:
df.astype(type)将列转换为指定的数据类型。
9. 其他实用方法
额外功能
-
df.sample()
随机抽样数据。sample_df = df.sample(n=3)解释:
df.sample(n)随机抽取 n 行。 -
df.query()
使用查询字符串选择数据。filtered_df = df.query('A > 1')解释:
df.query('expression')根据查询字符串筛选数据。 -
df.pipe()
将 DataFrame 传递给函数。result = df.pipe(lambda x: x['A'] + x['B'])解释:
df.pipe(func)将 DataFrame 传递给指定函数。 -
df.memory_usage()
查看内存使用情况。memory = df.memory_usage()解释:
df.memory_usage()返回 DataFrame 各列的内存使用情况。 -
df.select_dtypes()
选择特定数据类型的列。numeric_df = df.select_dtypes(include=['number'])解释:
df.select_dtypes(include=[type])返回指定数据类型的列。 -
df.explode()
将列表列拆分为多行。df_exploded = df.explode('list_column')解释:
df.explode(column)将列表列拆分为多行。
三、结语
本文介绍了 39 个 Pandas 的常用方法,希望可以帮助到大家。在下一篇文章中,我们将深入探讨数据可视化,或者教大家如何使用 Matplotlib 和 Seaborn 进行数据可视化。
大家再见!
注:本来想写五十个方法,实在憋不出来了