pandas有两类数据对象:dataframe和series。Series是一个带标签的一维数组,通常索引在左,值在右。dataframe是一个带标签的二维数组,可以理解成series的字典,共用索引标签。重点记录dataframe的相关用法:
一.创建dataframe
1.如下图所示,主要是要Dataframe方法结合numpy函数可快速创建,以下演示了三种不同的创建方法:
#1.创建dataframe格式
import pandas as pd
import numpy as np
df1=pd.DataFrame(np.random.randn(4,4),index=np.arange(4),columns=list('ABCD'))
df2=pd.DataFrame(np.arange(16).reshape(4,4),index=[1,2,3,4],columns=["A","B","C","D"])
df3=pd.DataFrame({"A":1,"B":2,"C":pd.date_range('20200201',periods=4),"D":pd.Series(1,index=[1,2,3,4])})
打印结果
二.查看数据
#查看数据
df1.head(1) #1查看头部第一行数据
df1.dtypes #2查看列类型
df2.columns #2查看列名
df2.to_numpy() #3用numpy方法快速查看数据
df2.describe() #4查看统计摘要
df2.T #5行列互换,转置
df2.sort_index(axis=1,ascending=False) #6按列轴大小排序
df2.sort_values(by="B") #7按列的B轴数值大小排序
1.首尾数据:head()/tail()
df1.head(1) / df1.tail(2)
2.显示索引、列名、列类型
df1.index / df1.columns / df1.dtypes
个人觉得:查看列类型在数据清洗中应该会用的比较多
image
3.查看列表数据:df2.to_numpy()
可以快速浏览dataframe对象中底层numpy数据,以numpy格式输出
4.查看统计摘要:describe()
包含NAN值统计概要,以描述数据离散和形状。其中表示所在列的:count数量,mean为均值,std为标准差,min最小值,max:最小值,20%、50%、75%为20、50、75的百分位数,50%也可以理解为中位数。
image
5.转置数据:
df2.T: 行列数据互换
image
6.按轴排序
df1.sort_index(axis=1,ascending=False)
即将表格的数据按照行、列轴上数值的大小排序后展示,当axis=1时,表示按照列轴排序,axis=0时,表示按照行轴排序,ascending为False表示按照倒序排列。
image
7.按值排序
df2.sort_values(by="B")
表示按照B轴的数值大小排序,默认为正序,可通过ascending设置倒序
image
三.筛选数据
1.按列筛选
筛选整列:df2['A'] df2.A 筛选两列:df2[['A','D']]
2.按切片筛选(按行筛选)
筛选行数据:df2[:2] ,它与标签筛选的区别在于不包含该结束点,如本例,只包行0,1的行的数据,不包含2的数据。 而标签