【Python 机器学习入门】pandas的使用

一、pandas是什么?

        pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。
        常用数据结构为series(一维数组)和dataframe(二维数组),可见矩阵在数据分析当中有着相当重要的地位,学好计算机,矩阵论很值得去看看。

       补充:NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库

二、使用步骤
       1.引入库

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

matplotlib.pyplot与seaborn: 作图(记得使用plt.show(),否则不会显示)
ssl:跳过认证,不然报错(小提示 https和http略微区别,https含有安全监测,安全性更高)

       2.读入数据

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

       该处使用的url网络请求的数据,,另外还可以使用excel,sql等数据类型,详情见官网
       3.分析数据

       常用方法:
       1. describe():列出mean,min,count等数值特征值
        2. head():前五行数据
        3. columns:列出列的属性(数据庞大一般只显示前面和后面几列)

       [‘列名’]进行选取某一列,,[() & ()] 进行条件筛选,代码如下

print(data[(data['sex'] == 'Female') &
           (data['salary'] == '<=50K')].describe())

制图
sns.countplot

df.pivot_table(['Total day calls', 'Total eve calls', 'Total night calls'],
               ['Area code'], aggfunc='mean')

效果

在这里插入图片描述
完整代码

import numpy as np
import pandas as pd
import ssl
# 忽略警告
import warnings
# 加载模块,配置绘图
import matplotlib.pyplot as plt
import seaborn as sns

warnings.filterwarnings('ignore')
ssl._create_default_https_context = ssl._create_unverified_context

# read_csv(url):读取数据
data = pd.read_csv('https://labfile.oss.aliyuncs.com/courses/1283/telecom_churn.csv')

# 1.获取相关信息(整体性方面的)
# 特征值 显示矩阵的行列(术语:维度、特征名称和特征类型)
print("特征值:", data.shape)
# 所有信息   (思考方法的调用,需要括号??)
print("info1:", data.info())
print("info2:", data.info)
print("data:", data)
# 数值特征(int64 和 float64)的基本统计学特性,
# 如未缺失值的数值、均值、标准差、范围、四分位数等
# include筛查类型
print("describe :", data.describe())
print("describe2 :", data.describe(include=['bool']))
# 均值
print("均值:", data.mean)
# 前五行
print("head:", data.head())

# 2.排序,筛选
# []进行列筛选
print("[]的使用", data['Churn'])
# sort的使用 by=[,,], ascending
print("sort ", data.sort_values(by=['Churn'], ascending=False))
# []中进行条件筛选 data[data['Churn'] == 1]
# df[(df['Churn'] == 0) & (df['International plan'] == 'No')]['Total intl minutes'].max()
# []进行多条件并列?

# 3.分析展示
# pivot_table()透视表
# pd.pivot_table(['Total day calls', 'Total eve calls', 'Total night calls'],
#                ['Area code'], aggfunc='mean')

# 交叉图
pd.crosstab(data['Churn'], data['Voice mail plan'], normalize=True)
# 建立直方图
sns.countplot(x='International plan', hue='Churn', data=data)
# 显示图(不仅限于plt作图)
plt.show()

学习来源:实验楼

很好的一个动手学习的网站,大家可以收藏!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值