Python数据分析(Pandas)

本文详细介绍了Python数据分析库Pandas的基础知识,包括Series和DataFrame数据结构的使用,如初始化、索引、赋值和数据操作。此外,还涵盖了数据读取、数据清洗、条件选择、缺失值处理、异常值处理、数据保存、数据透视和统计分析等关键操作。通过实例展示了如何进行数据处理和分析,是学习Pandas的实用指南。
摘要由CSDN通过智能技术生成

pandas基础数据结构,有以下两种:

Series,与array很像也和list相同,Series能保存不同的种数据类型,包括字符串、bool值、数字等等。

DataFrame,二维的表格型数组结构,以下内容以DataFrame为主。

Series初始化(类型转换)s=pd.Series([1,2,3,np.nan,6.8])

索引-行标签,查看值 a.values,a[0],切片都和numpy一样。

索引赋值 a.index.name="索引",a.index=list("abcdef"),就不是01234了。

如果赋值给索引了,再想取切片的话,就不是0:3这样的了,而是s["a":"c"](注意,这里是闭区间,不是左闭右开)

 

DataFrame,是一个二维结构。现在构造一个时间序列

data=pd.date_range("20190101",periods=6)(这里要写起点,周期)

创建一个DataFrame结构,df=pd.DataFrame(np,random,randn(6,4),index=data,columns=list("ABCD"))。如果不指定index和columns,则默认从0开始的数字。随机生成六行四列的随机数组。

除了传入二维数组,我们也可以使用字典传入数据:

df2=pd.DataFrame(["A":1.2,"B":pd.Timestamp("20181001"),"C":pd.Series(1,index=list(range(4)),dtype=float),"D":np.array([3]*4,dtype=int),"E":pd.Categorical(["test","train","test","train"]),"F":"abc"])

查看头尾数据

df.head(),默认前5行

df.tail(3),查看最后3行数据。

df.dtypes,查看所有的数据类型

下标的查看,df.index

列标的查看,df.columns

数据值的查看,df.values

 

pandas读取数据及数据操作

读取excel文件df=pd.read_excel(r“文件路径”),前面加r的意思是不需要对我写的路径进行转义,我写的是什么就是什么。

读取csv文件df=pd.csv.read_csv("文件路径")

行操作,df.iloc[0],df.iloc[0:5]这样的操作。df.loc[0:5],唯一不同就是不是左闭右开,索引5也在里面了。

添加一行dit={把每一列数据,相当于字典输入。}    s=pd.Series(dit)   s.name=前面数据索引号加1    df=df.append(s)

删除一行 df=df.drop([索引号])

列操作 df.columns,查看列名。df["名字"][:5],排在前5的名字。df["xx","xx","xx"]查看多行。

增加一列,df["y"]=range(1,len(df)+1),因为range右边不包含,所以要加一。

删除一列,df=df.drop("y",axis=1)

通过标签选择数据df.loc[[index],[column]]

 

条件选择       df[df["产地"]=="美国"]  df[df["产地"]=="美国"][:5]  只看前5行

df[(df.产地==“美国”)&(df.评分>9)]

df[((df.产地==“美国”)|(df.产地==“中国大陆”))&(df.评分>9)]

缺失值处理

1、dropna   根据标签中的缺失值进行过滤,删除缺失值

参数解释:how=“all”,删除全为空的行或列,inplace=True覆盖之前的数据,axis=0(行)axis=1(列)默认选择行

2、fillna   对缺失值进行填充   df.fiilna(0)  

均值填充df["评分"].fillna(np.mean(df["评分"]),inplace=True)

3、isnull   返回布尔值,判断哪些值是缺失值  df.isnull()  df["名字"].isnull()

4、notnull   isnull的否定式

处理异常值

df[df.投票人数<0]

df[df["投票人数"]%1!=0](不是整数)df[df["投票人数"]%1==0](保留整数)

数据保存

df.to_excel("保存文件的路径")

 

数据格式的转换

查看数据df["XXX"].dtype

类型转换df["XXX"]=df["XXX"].astype("int")

<
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值