Pandas 28种常用方法使用总结(上)

简介: Pandas 28种常用方法使用总结

Pandas库专为数据分析而设计,它是使Python成为强大而高效的数据分析环境的重要因素。它提供了多种数据结构和方法来处理和分析数据。

image.png

下面是一些Pandas常用方法的使用总结。


1. 创建数据框


使用read_csv()read_excel()方法读取数据文件,也可以使用DataFrame()方法从列表或字典创建数据帧。例如,通过以下方式创建数据框:

import pandas as pd
df = pd.read_csv('example.csv')
# or
df = pd.read_excel('example.xlsx')
# or
df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie'], 'age': [25, 32, 18]})

2. 查看数据


使用head()tail()方法查看前几行或后几行数据。可以使用describe()方法获取数据的描述性统计信息,例如最大值、最小值、平均值和标准差等。

# 查看前5行数据
print(df.head())
# 查看后5行数据
print(df.tail())
# 查看数据的描述性统计信息
print(df.describe())

3. 索引和选择数据


可以使用loc[]iloc[]方法对数据进行索引和选择。loc[]方法基于标签选择数据,而iloc[]方法基于行和列的位置选择数据,例如:

# 选择行和列:
df.loc[0, 'name']
df.iloc[0, 1]
# 选择行:
df.loc[0]
df.iloc[0]
# 选择列:
df['name']

4. 操作数据


Pandas提供了很多数据操作方法,例如,可以使用mean()方法计算列的平均值,使用corr()方法计算列之间相关性并使用drop()方法删除某些列或行。

# 计算列的平均值
df['age'].mean()
# 计算列之间的相关性
df.corr()
# 删除某些列或行
df.drop('age', axis=1)
df.drop(0)

5. 处理缺失值


Pandas提供了方法来处理缺失值,例如可以使用isnull()检查失值并使用fillna()方法填充缺失值。

# 检查缺失值
df.isnull()
# 填充缺失值
df.fillna(0)

6. 分组和聚合


可以使用groupby()方法将数据按照某些列进行分组,然后使用聚合函数计算列的值。

# 分组和聚合
df.groupby('name').mean()

7. 绘制图表


Pandas提供了很多绘制图表的函数,例如plot()方法可以绘制线图、散点图和条形图等。

# 绘制线图
df.plot(x='name', y='age')
# 绘制散点图
df.plot.scatter(x='name', y='age')
# 绘制条形图
df.plot.bar(x='name', y='age')

8. 排序和排名


使用sort_values()方法对数据进行排序,可以按照某一列的值进行升序或降序排列。使用rank()方法进行排名,将所有的数据按照某一列的值进行排名,例如:

# 按age列进行升序排列
df.sort_values('age', ascending=True)
# 按age列进行降序排列
df.sort_values('age', ascending=False)
# 对age进行排名
df['rank'] = df['age'].rank(method='dense')

9. 数据重塑


使用pivot()melt()方法进行数据重塑。pivot()方法可以将长格式的数据框转化为宽格式,而melt()方法可以将宽格式的数据框转化为长格式,例如:

# 将长格式的数据框转化为宽格式
df.pivot(index='name', columns='subject', values='score')
# 将宽格式的数据框转化为长格式
df.melt(id_vars=['name', 'age'], var_name='subject', value_name='score')

10. 时间序列数据处理


Pandas提供了多种方法来处理时间序列数据,例如可以使用to_datetime()方法将字符串转化为日期格式,使用resample()方法对时间序列进行重采样,例如:

# 将字符串转化为日期格式
df['date'] = pd.to_datetime(df['date'], formatYmd')
# 对时间序列进行重采样
df.resample('D').sum()

image.png

11. 缩减内存占用


Pandas中如果数据集很大,占用的内存可能也会很大,可以使用astype()方法将一些整型或浮点型的列转化为较小的数据类型来减少内存占用,例如:

# 将age列从int64转化为int32
df['age'] =['age'].astype('int32')
# 将score列从float64转化为float32
df['score'] = df['score'].astype('float32')

12. 数据分析和统计


Pandas提供了多种方法来进行数据析和统计,例如可以使用value_counts()方法计算某一列中数值出现的次数,使用cut()方法对一维的连续数据进行离散化,例如:

# 计算name列中每个值出现的次数
df['name'].value_counts()
# 对age列进行等距离分割
df['age_cut'] = pd.cut(df['age'], 3)

13. 文本数据处理


Pandas提供了多种方法来处理文本数据,例如可以使用str()方法来访问字符串中的子串或使用正则表达式来匹配字符串,例如:

# 访问name列中的子串
df['name'].str[0:3]
# 查找name列中包含字母'c'的行
df[df[''].str.contains('c')]

14. 数据透视表


在数据分析中,有时需要统计汇总数据,并按照某些列进行分组统计汇总,Pandas中提供了数据透视表功能来实现上述需求。例如:

pivot_df = df.pivot_table(values='score', index='gender', columnssubject', aggfunc=np.mean)

在这个例子中,我们用pivot_table()方法将原始数据框df按照subject列和gender列进行分组,并求出每个分组的平均值,最后返回一个新的数据框pivot_df


Pandas 28种常用方法使用总结(下):https://developer.aliyun.com/article/1462371

相关文章
|
3月前
|
SQL 索引 Python
Pandas中DataFrame合并的几种方法
Pandas中DataFrame合并的几种方法
234 0
|
1月前
|
Python
通过Pandas库处理股票收盘价数据,识别最近一次死叉后未出现金叉的具体位置的方法
在金融分析领域,"死叉"指的是短期移动平均线(如MA5)下穿长期移动平均线(如MA10),而"金叉"则相反。本文介绍了一种利用Python编程语言,通过Pandas库处理股票收盘价数据,识别最近一次死叉后未出现金叉的具体位置的方法。该方法首先计算两种移动平均线,接着确定它们的交叉点,最后检查并输出最近一次死叉及其后是否形成了金叉。此技术广泛应用于股市趋势分析。
50 2
|
2月前
|
存储 数据采集 数据处理
Pandas中批量转换object至float的高效方法
在数据分析中,常需将Pandas DataFrame中的object类型列转换为float类型以进行数值计算。本文介绍如何使用`pd.to_numeric`函数高效转换,并处理非数字值,包括用0或平均值填充NaN值的方法。
87 1
|
3月前
|
数据处理 Python
Pandas中的drop_duplicates()方法详解
Pandas中的drop_duplicates()方法详解
248 2
|
3月前
|
数据处理 Python
Pandas快速统计重复值的2种方法
Pandas快速统计重复值的2种方法
175 1
|
3月前
|
数据挖掘 Python
掌握Pandas中的相关性分析:corr()方法详解
掌握Pandas中的相关性分析:corr()方法详解
263 0
|
3月前
|
数据处理 索引 Python
Pandas中resample方法:轻松处理时间序列数据
Pandas中resample方法:轻松处理时间序列数据
85 0
|
3月前
|
SQL 数据采集 索引
聚焦Pandas数据合并:掌握merge方法
聚焦Pandas数据合并:掌握merge方法
43 0
|
3月前
|
数据采集 机器学习/深度学习 数据挖掘
Pandas中的变形大师:transform方法
Pandas中的变形大师:transform方法
35 0
|
3月前
|
数据挖掘 数据处理 Python
Pandas中的数据聚合神器:agg 方法
Pandas中的数据聚合神器:agg 方法
105 0