pandas基本使用
pandas
simple introduce
Pandas 是非常著名的开源数据处理库,我们可以通过它完成对数据集进行快速读取、转换、过滤、分析等一系列操作。除此之外,Pandas 拥有强大的缺失数据处理与数据透视功能,可谓是数据预处理中的必备利器。
其基于 NumPy 开发,该工具是 Scipy 生态中为了解决数据分析任务而设计。
knowledge point
1.数据类型
-
1.Series(一维数组)
- 基本结构:pandas.Series(data=None, index=None)
- import numpy as np
s = pd.Series(np.random.randn(5))
s
-
2.DataFrame(二维数组)
-
基本结构:pandas.DataFrame(data=None, index=None, columns=None)
-
compare with Series
- pd.Series(np.random.randint(5,size=(5,)))
- pd.DataFrame(np.random.randint(5, size=(2, 4)))
-
-
3.Panel(三维数组)
-
4.Panel4D(四维数组)
-
5.PanelIND(更多维数组)
2.数据读取
-
df = pd.read_csv()#()中填入相对地址或者网络url
-
df.head(5)#默认显示前五条
-
df.tail(7)#指定显示后7条
-
df.describe()
- Pandas 还提供了统计和描述性方法,方便你从宏观的角度去了解数据集。
describe()
相当于对数据集进行概览,会输出该数据集每一列数据的计数、最大值、最小值等。
- Pandas 还提供了统计和描述性方法,方便你从宏观的角度去了解数据集。
-
df.values
- Pandas 基于 NumPy 开发,所以任何时候你都可以通过 .values 将 DataFrame 转换为 NumPy 数组。
-
df.index # 查看索引
-
df.columns # 查看列名
-
df.shape # 查看形状
3.数据选取
-
基于索引数字选择¶
-
简单介绍
-
整数。例如:5
-
整数构成的列表或数组。例如:[1, 2, 3]
-
布尔数组。
-
可返回索引值的函数或参数。
-
-
df.iloc[:3]
- 首先,我们可以选择前 3 行数据。这和 Python 或者 NumPy 里面的切片很相似。
-
df.iloc[5]
- 选定一行
-
df.iloc[5:6]
- 也是选定第五行
-
df.iloc[[1, 3, 5]]
- 所以,很简单。如果你想要选择 2,4,6 行,可以这样做。
- [[行],[列]]
-
df.iloc[:, 1:4]
-
-
基于标签名称选择
-
简单介绍
-
单个标签。例如:2 或 'a',这里的 2 指的是标签而不是索引位置。
-
列表或数组包含的标签。例如:['A', 'B', 'C']。
-
切片对象。例如:'A':'E',注意这里和上面切片的不同之处,首尾都包含在内。
-
布尔数组。
-
可返回标签的函数或参数。
-
-
4.数据删减
-
Pandas 中,以 .drop 开头的方法都与数据删减有关。
-
df.drop(labels=['Median Age', 'Total Males'], axis=1)
-
df.drop_duplicates()
- 则通常用于数据去重,即剔除数据集中的重复值。使用方法非常简单,默认情况下,它会根据所有列删除重复的行。也可以使用 subset 指定要删除的特定列上的重复项,要删除重复项并保留最后一次出现,请使用 keep='last'。
-
df.dropna()
- 其主要的用途是删除缺少值,即数据集中空缺的数据列或行。
5.数据填充
-
检测缺失值
- df.isna()
- df.notna()
-
填充缺失值
-
df.fillna()
-
填充前面的值
-
df.fillna(method='pad')
-
df.fillna(method='bfill')
-
df.fillna(method='pad', limit=1)
- 我们可以通过 limit= 参数设置连续填充的限制数量。
-
df.fillna(df.mean()['C':'E'])
-
-
-
df_interpolate = df.interpolate()
df_interpolate- 我们可以通过 interpolate() 方法完成线性插值。
-
数据可视化
- NumPy,Pandas,Matplotlib 构成了一个完善的数据分析生态圈,所以 3 个工具的兼容性也非常好,甚至共享了大量的接口。当我们的数据是以 DataFrame 格式呈现时,可以直接使用 Pandas 提供的 DataFrame.plot 方法调用 Matplotlib 接口绘制常见的图形。
- df_interpolate.plot()
- df_interpolate.plot(kind='bar')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律