pandas入门

pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。它是Python成为强大而高效的数据分析环境的重要因素之一
首先导入pandas

import pandas as pd
import numpy as np

pandas中采用Serise()方法处理一维数据,这里为了方便直接用np生成一维数组,index中可添加行索引值,要求长度与数据长度一致.
对象t有index,values,dtype等属性:

t = pd.Series(np.arange(5), index=list('abcde'))
print(t)
print('*'*10)
print(t.index)
print('*'*10)
print(t.values)
print('*'*10)
print(t.dtype)

在这里插入图片描述

对于二维数据,pandas中有DataFrame()方法可以使用.
在导入数据的过程中,pandas也提供了大量的导入方法.
在这里插入图片描述

这里为了方便,将构造一组简单的二维数据

info_list = [
    {"name":"xiaogui", "age": 18, "gender": 1},
    {"name":"xiaoa", "age": 18, "gender": 1, "Vname": "gsuixiao"},
    {"name": "pig", "age": 20, "gender": 0, "Vname": "bidg"},
    {"name":"xiaob", "age": 18, "gender": 1},
    {"name":"xiaoc", "age": 18, "gender": 1, "Vname": "guidxiao"},
    {"name": "pia", "age": 20, "gender": 0, "Vname": "bidg"},
    {"name":"xiaogudi", "age": 18, "gender": 1},
    {"name":"xiaogusi", "age": 18, "gender": 1, "Vname": "guixiaoasdf"},
    {"name": "pivg", "age": 20, "gender": 0, "Vname": "bigs"},
    {"name":"xiadogui", "age": 18, "gender": 1},
    {"name":"xiaosgui", "age": 18, "gender": 1, "Vname": "guixsiao"},
    {"name": "pivg", "age": 20, "gender": 0, "Vname": "bigsdfa"},
    {"name":"xiaxogui", "age": 18, "gender": 1},
    {"name":"xiadogui", "age": 18, "gender": 1, "Vname": "gusdfixiao"},
    {"name": "pigs", "age": 20, "gender": 0, "Vname": "bigaqw"},
    {"name":"xiaodgui", "age": 18, "gender": 1},
    {"name":"xiaogfdgui", "age": 18, "gender": 1, "Vname": "cvbguixiao"},
    {"name": "pigdf", "age": 20, "gender": 0, "Vname": "baig"},
    {"name":"xiaogxui", "age": 18, "gender": 1},
    {"name":"xiaogdui", "age": 18, "gender": 1, "Vname": "gnhguixiao"},
    {"name": "pigsd", "age": 20, "gender": 0, "Vname": "bigyur"},
]
df = pd.DataFrame(info_list)

DataFrame的基础属性以及方法

形状

print(df.shape)   # (21,4)

列数据类型

print(df.dtypes)

在这里插入图片描述

数据维度

print(df.ndim)   # 2

行索引

print(df.index)

在这里插入图片描述

列索引

print(df.columns)

在这里插入图片描述

对象值,ndarray数组

print(df.values)

在这里插入图片描述

查看前n行,不加参数时默认为5
df.head(n)

查看最后n行,不加参数时默认为5
df.tail(n)

查看相关信息概览: 行数,列数,列索引,列非空个数,行类型,列类型,内存占用

print(df.info()) 

在这里插入图片描述

快速综合统计结果:技术,均值,标准差,最大值,四分位数,最小值

print(df.describe())

在这里插入图片描述

排序,默认ascending=True 升序

df = df.sort_values(by="age", ascending=False)
print(df)

pandas中优化了选择

t.loc[]

t.iloc[]

import pandas as pd
import numpy as np


t = pd.DataFrame(np.arange(12).reshape((3,4)), index=list('abc'), columns=list('wxyz'))
print(t.loc["a","w"])

# pandas中选择连续多行,比较特殊的是,选择是一个闭闭区间
# 结果是包含行索引值为"c"的那一行
print(t.loc["a":"c",["w","z"]])

# t.iloc根据位置选择
print(t.iloc[[0,2],[2,1]])
print(t.iloc[1:,2:])

数据缺失的处理
对于NaN的数据,在pandas中处理十分容易
判断数据是否为NaN: pd.isnull(df) pd.notnull(df)

处理方式1: 删除NaN所在的行列dropna(axis=0,how=‘any’,inplace=False)
处理方式2: 填充数据, t.fillna(t.mean()), t.fillna(t.median()), t.fillna(0)

处理为0的数据 t[t==0]=np.nan
pandas中计算平均值时,NaN不参与计算,但是0会

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值