
本节主要是自己学习pandas的练习,与你分享。
导入Pandas与NumPy
import numpy as np
import pandas as pd
生成Series时,pandas默认生成整数索引,我们尝试一下。
s = pd.Series([23,2,5,np.nan,6,9])
s

使用时间索引与含有标签的Numpy数组生成DataFrame
dates = pd.date_range('20200101',periods=7)
dates

使用随机数生成一个7*4的数据表。

使用Series字典生成DataFrame
df2 = pd.DataFrame({'A':1.2,
'B':pd.Series(1,index=list(range(4)),dtype='float32'),
'C':pd.Timestamp('20200101'),
'D':np.array([3]*4,dtype='int32'),
'E':pd.Categorical(["test","tarin","test","train"]),
'F':'foo'})
df2

我们查看一下df2中每列的数据类型
df2.dtypes

下面进入数据查看环节,查看数据的前几行和结尾几行的数据:
df.head()#默认是5行

df.head(3)#可以输入数字查看相应行数

df.tail(3)#查看最后3行

显示索引与列名

快速的查看数据统计概要:

数据转置:

提取数据
获取单列数据,选择单列,产生Series,与df.A 等效

使用[ ]切片:


按标签选择,用标签提取一行数据

用标签选择多列数据

用标签切片,包含行与列结束点:

提取标量值:

使用整数位置选择

类似 NumPy / Python,用整数切片:

显示整行的切片:

显示整列的切片:

布尔索引,用单列的值选择数据:

提取出DataFrame 里满足条件的值:

使用isin筛选:

用索引自动对齐新增列的数据:

按标签赋值:

按位置赋值

按 NumPy 数组赋值:

Pandas 主要用 np.nan 表示缺失数据,计算时,默认不包含空值。 重建索引(reindex)可以更改、添加、删除指定轴的索引,并返回数据副本,即不更改原数据。

删除所有包含空值的行:

填充缺失值:

计算均值:

数值计数:

包含的字符串的处理功能str:

数据合并,pandas 提供了多种将 Series、DataFrame 对象组合在一起的功能,用索引与关联代数功能的多种设置逻辑可执行连接(join)与合并(merge)操作。

为 DataFrame 追加行:

分组,“group by” 指的是涵盖下列一项或多项步骤的处理流程:
分割:按条件把数据分割成多组;
应用:为每组单独应用函数;
组合:将处理结果组合成一个数据结构。

先分组,再用 sum()函数计算每组的汇总数据:

多列分组后,生成多层索引,也可以应用 sum 函数:

以上为学习所得,希望对你有帮助。