一、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()
学习来源:实验楼
很好的一个动手学习的网站,大家可以收藏!!