Python语言做数据探索教程
时间:2022-04-29
本文章向大家介绍Python语言做数据探索教程,主要内容包括1 数据导入、2 数据类型变换、3 数据集变换、4 数据排序、5 数据可视化、6 列联表、7 数据抽样、8 数据去重、9 数据聚合运算、10 数据缺失值识别和处理、11 数据合并、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
本文总结Python语言做数据探索的知识。
类似R语言做数据探索,利用Python语言做数据探索。
- 1 数据导入
- 2 数据类型变换
- 3 数据集变换
- 4 数据排序
- 5 数据可视化
- 6 列联表
- 7 数据抽样
- 8 数据去重
- 9 数据聚合运算
- 10 数据缺失值识别和处理
- 11 数据合并
1 数据导入
数据格式常有:csv、tsv、txt、xlsx和json等。 Python可以方便地导入这些数据格式。 利用Python的pandas库做数据导入,把导入的数据存放在一个DataFrame对象里,主要函数如下:
导入csv格式代码
import pandas as pd
csv_data <- pd.read_csv('user.csv')
print csv_data.head(6)
导入Excel格式代码
import pandas as pd
#导入student.xlsx里basic_info表xlsx_data <- pd.read_excel('D:/student.xlsx', 'basic_info')
print xlsx_data.head(6)
导入txt或者tsv格式代码
import pandas as pdtxt_data <- pd.read_csv('customer.txt', sep = 't')print txt_data.head(6)tsv_data <- pd.read_table('customer.tsv')print tsv_data.head(6)
2 数据类型变换
数据类型变化是数据处理的一种常用操作。 数值变量转换为字符串变量或者字符串变量转换为数值变量
str_output = str(int_input)int_output = int(str_input)float_output = float(str_input)
字符串变量转换为日期变量
from datetime import datetimestr_date = 'Apr 1 2017 1:20 PM'date_obj = datetime.strptime(str_date, '%b %d %Y %I:%M%p')print(date_obj)
3 数据集变换
Python做数据透视图,如图:
import pandas as pddf = pd.read_excel('E:/product.xlsx', 'Sheet1')print(df)result = df.pivot(index = 'ID', columns='Product', values='Sales')print(result)
4 数据排序
Python做数据排序,可以针对一个变量或者多个变量进行升序或者降序操作。
import pandas as pddf1 = pd.read_excel('E:/product.xlsx', 'Sheet1')print(df1)result1 = df1.sort(['Product', 'Sales'], ascending = [True, False])
5 数据可视化
数据可视化可以更加容易方便地认识和理解数据。 Python做数据可视化的常用库:matplotlib和seaborn。 对于一份销售职员数据集
使用数据可视化解决这些问题:
- 年龄的分布
- 年龄与销量的关系
直方图
import matplotlib.pyplot as plt
import pandas as pd
df = pd.read_excel('E:/employee.xlsx', 'Sheet1')
fig = plt.figure()ax = fig.add_subplot(1,1,1)
ax.hist(df['Age', bins=5])plt.title('Age distribution')
plt.xlabel('Age')
plt.ylabel('#Employee')
plt.show()
散点图
import matplotlib.pyplot as pltimport pandas as pddf = pd.read_excel('E:/employee.xlsx', 'Sheet1')fig = plt.figure()ax = fig.add_subplot(1,1,1)ax.scatter(df['Age'], df['Sales'])plt.title('Sales and Age distribution')plt.xlabel('Age')plt.ylabel('Sales')plt.show()
6 列联表
列联表常用于理解一个或者多个分类变量的分布。
import pandas as pddf = pd.read_excel('E:/employee.xlsx', 'Sheet1')print(df)test = df.groupby(['Gender','BMI'])test.size()
7 数据抽样
数据抽样可以快速方便地理解数据。 Python做数据抽样利用numpy和random模块
import numpy as np
import pandas as pd
from random import sample
df = pd.read_excel('E:/employee.xlsx', 'Sheet1')
rindex = np.array(sample(xrange(len(df), 5)))
dfr = df.ix[rindex]print(dfr)
8 数据去重
Python去掉数据集中重复记录,使用dataframe.drop_duplicates()方法。
rem_dup=df.drop_duplicates(['Gender', 'BMI'])print rem_dup
9 数据聚合运算
Python对数据做摘要分析,即快速获取数据最小值、最大值、平均值等信息,使用dataframe.describe()方法。
test= df.groupby(['Gender'])test.describe()
10 数据缺失值识别和处理
Python识别数据缺失值用dataframe.isnull()
df.isnull()
缺失值处理方法:1)删除方法、2)插补方法 以插入均值修补变量缺失值为例
import numpy as npmeanAge = np.mean(df.Age)df.Age = df.Age.fillna(meanAge)
11 数据合并
数据连接与合并是把不同数据源集成在一块的常用操作。 使用pandas的merge方法
df_new = pd.merge(df1, df2, how = 'inner', left_index = True, right_index = True)
# 基于索引做连接## 拓展知识点:## 1 外连接,how='outer',左连接,how='left'## 2 也可以指定列进行关联
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 文章要保存为TXT文件,其中的图片要怎么办?Python帮你解决
- 分析B站弹幕,川普同志暴露的那一天,没有一个鬼畜up是无辜的
- python-爬取地理坐标
- Python基础第一个案例:猜数字游戏,这个都写不出,那就放弃吧
- 现在听歌要各大平台到处跑,嫌麻烦?制作个人专属的音乐下载器
- 爬取上市公司数据、分析数据,并用可视化现实全国各地区公司数量
- 今天刚上手爬虫,当然要从最简单的开始啦,验证一下所学的知识
- Python数据可视化入门:使用Matplotlib绘图
- 有了音乐下载器,怎么能没有音乐播放器呢,打造自己的音乐播放器
- 七夕节到了,单身狗程序员要对自己好点,用代码送自己点安慰
- 面向对象视角下的前端工程体系
- 使用 Python破解大众点评字体加密(SVG反爬虫)
- Python爬虫练习:爬取高清4K桌面壁纸
- 爬取B站18000条《黑神话:悟空》实机演示弹幕,做成词云
- Python爬虫实战:自动化登录网站,爬取商品数据