Pandas库常用方法、函数集合(Pandas库常用方法和函数大全)
原创
一、Pandas简介
Pandas是一个强劲的Python数据分析库,提供了大量用于数据操作和分析的方法和函数。Pandas是基于NumPy构建的,能够处理结构化数据(如表格、时间序列等)。以下是Pandas库中常用的方法和函数。
二、数据结构
Pandas首要使用两种数据结构:Series和DataFrame。下面分别介绍这两种数据结构及相关操作。
2.1 Series
Series是一种一维数据结构,类似于Python的列表,但具有额外的功能,如索引。
2.1.1 创建Series
import pandas as pd
data = [1, 2, 3, 4, 5]
index = ['a', 'b', 'c', 'd', 'e']
series = pd.Series(data, index=index)
print(series)
2.1.2 Series常用方法
head(n)
:返回前n行数据。tail(n)
:返回后n行数据。index
:返回索引。values
:返回数据。describe()
:返回描述性统计信息。unique()
:返回不同值的列表。isnull() / isna()
:检查数据中是否有空值。dropna()
:删除空值。fillna(value)
:填充空值。
2.2 DataFrame
DataFrame是一个二维数据结构,类似于Excel表格,由多个Series组成。
2.2.1 创建DataFrame
import pandas as pd
data = {
'name': ['Alice', 'Bob', 'Charlie'],
'age': [25, 30, 35],
'gender': ['F', 'M', 'M']
}
df = pd.DataFrame(data)
print(df)
2.2.2 DataFrame常用方法
head(n)
:返回前n行数据。tail(n)
:返回后n行数据。index
:返回索引。columns
:返回列名。values
:返回数据。describe()
:返回描述性统计信息。unique(column)
:返回指定列的不同值的列表。isnull() / isna()
:检查数据中是否有空值。dropna(column)
:删除指定列的空值。fillna(value)
:填充空值。drop_duplicates(subset)
:删除重复行。sort_values(by, ascending)
:按指定列排序。groupby(column)
:按指定列分组。merge(df, on, how)
:合并两个DataFrame。
三、数据操作
3.1 数据选择
Pandas提供了多种对策来选择和修改DataFrame中的数据。
3.1.1 通过列名选择
df['name']
3.1.2 通过索引选择
df.iloc[0]
3.1.3 通过条件选择
df[df['age'] > 30]
3.2 数据修改
修改DataFrame中的数据可以使用多种对策。
3.2.1 修改单个值
df.at[0, 'name'] = 'Alice Smith'
3.2.2 修改多个值
df['name'] = ['Alice Smith', 'Bob Johnson', 'Charlie Brown']
3.2.3 条件修改
df.loc[df['age'] > 30, 'age'] += 5
四、数据聚合与统计
Pandas提供了强劲的数据聚合和统计功能。
4.1 数据聚合
df.groupby('gender').sum()
4.2 数据统计
df.mean()
五、数据可视化
Pandas可以与Matplotlib和Seaborn等库结合,进行数据可视化。
5.1 绘制直方图
df['age'].plot(kind='hist')
5.2 绘制散点图
df.plot(x='age', y='name', kind='scatter')
六、Pandas高级功能
Pandas还提供了许多高级功能,如时间序列分析、文本处理等。
6.1 时间序列分析
import pandas as pd
df['date'] = pd.date_range(start='2021-01-01', periods=len(df), freq='D')
df.set_index('date', inplace=True)
df.resample('M').sum()
6.2 文本处理
df['name'] = df['name'].str.upper()
总结
Pandas是一个功能强劲的Python数据分析库,提供了充裕的数据结构和操作方法。通过掌握Pandas的常用方法和函数,我们可以轻松处理和分析结构化数据,从而为数据科学和机器学习项目打下坚实的基础。