清洗Kobe数据

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.cm as cm
import numpy as npraw = pd.read_csv('.\data\kobe_data.csv')
print(raw.shape)
kobe = raw[pd.notnull(raw['shot_made_flag'])]
print(kobe.shape)alpha = 0.01#透明度
plt.figure(figsize=(10,10))plt.subplot(121)
plt.scatter(kobe.loc_x,kobe.loc_y,c='blue',alpha=alpha)
plt.title('loc_x and loc_y')plt.subplot(122)
plt.scatter(kobe.lon,kobe.lat,c='green',alpha=alpha)
plt.title('lot and lat')#计算距离
raw['dist'] = np.sqrt(raw['loc_x']**2+raw['loc_y']**2)
#计算角度
loc_x_zero = raw['loc_x'] == 0
raw['angle'] = np.array([0]*len(raw))
raw['angle'][~loc_x_zero] = np.arctan(raw['loc_y'][~loc_x_zero] / raw['loc_x'][~loc_x_zero])
raw['angle'][loc_x_zero] = np.pi/2raw['remaining_time'] = raw['minutes_remaining']*60+raw['seconds_remaining']print(kobe.action_type.unique())
print(kobe.combined_shot_type.value_counts())
print(kobe.shot_type.unique())
print(kobe.season.unique())
#赛季格式转换
raw['season'] = raw['season'].apply(lambda x: int(x.split('-')[1]))
print(raw.season.unique())mat = pd.DataFrame({'matchup':kobe.matchup,'opponent':kobe.opponent})plt.figure(figsize=(5,5))
plt.scatter(raw.dist,raw.shot_distance,c='b')
plt.title('dis and shot_distance')gs = kobe.groupby('shot_zone_area')
print(kobe['shot_zone_area'].value_counts())
print(len(gs))plt.figure(figsize=(20,10))
def scatter_plot_by_category(feat):alpha = 0.02gs = kobe.groupby(feat)cs = cm.rainbow(np.linspace(0,1,len(gs)))for g,c in zip(gs,cs):plt.scatter(g[1].loc_x, g[1].loc_y, color=c,alpha=alpha)plt.subplot(131)
scatter_plot_by_category('shot_zone_basic')
plt.title('shot_zone_basic')plt.subplot(132)
scatter_plot_by_category('shot_zone_area')
plt.title('shot_zone_basic')plt.subplot(133)
scatter_plot_by_category('shot_zone_range')
plt.title('shot_zone_basic')drops = ['shot_id','team_id', 'team_name','shot_zone_area', 'shot_zone_basic', 'shot_zone_range', 'lat','lon','matchup','shot_distance', 'minutes_remaining','seconds_remaining', 'loc_x', 'loc_y','game_date','game_id', 'game_event_id']
for i in drops:raw = raw.drop(i,1)print(raw.combined_shot_type.value_counts())
print(pd.get_dummies(raw.combined_shot_type,prefix='combined_shot_type')[0:2])categorical = ['action_type','combined_shot_type','shot_type','opponent','period','season']
for var in categorical:raw = pd.concat([raw, pd.get_dummies(raw[var],prefix=var)],1)raw = raw.drop(var,1)train_kobe = raw[pd.notnull(raw['shot_made_flag'])]
train_label = train_kobe['shot_made_flag']
train_kobe = train_kobe.drop('shot_made_flag',1)
test_kobe = raw[pd.isnull(raw['shot_made_flag'])]
test_label = test_kobe.drop('shot_made_flag',1)

pandas清洗Kobe数据相关推荐

  1. 数据清洗- Pandas 清洗“脏”数据(一)

    概要 准备工作 检查数据 处理缺失数据 添加默认值 删除不完整的行 删除不完整的列 规范化数据类型 必要的转换 重命名列名 保存结果 更多资源 Pandas 是 Python 中很流行的类库,使用它可 ...

  2. 如何使用 Pandas 清洗二手房数据并存储文件

    目录 一.实战场景 二.知识点 python 基础语法 python 文件读写 pandas 数据清洗 三.菜鸟实战 清洗前的文件 读取源文件 对二手房数据进行清洗 清洗完成后保存到文件 运行结果 运 ...

  3. juypter 不省略_常用pandas清洗数据命令

    pandas清洗数据常用命令 安装jupyter notebook 启动 jupyter 可以在里面编写python代码 1. 加载数据df = pd.DataFrame(pd.read_excel( ...

  4. Pandas 常用函数 数据整理与清洗

    当有一定数据积累时,可以对数据进行较为详细的分析,数据处理一般分为三个阶段:数据整理与清洗.数据分析与建模.数据可视化与制表,其中Pandas 是处理数据最常用的工具. 文章目录 0.数据结构 1.读 ...

  5. pandas 空字符串与na区别_python从安装到数据分析应用高手 Pandas处理文本数据(一)...

    数据分析师的一天 作为一名数据分析师,目前而言是以业务为中心,取数,清洗整理数据,取数与清洗数据会消耗大量的工作时间,毕竟代码需要跟着业务节奏变化. 其中文本数据相比数值数据更具复杂性,本文就pand ...

  6. 使用Python清洗文本数据

    点击关注我哦 一篇文章带你了解使用Python清洗文本数据 数据格式并不总是表格格式.随着我们进入大数据时代,数据具有相当多样化的格式,包括图像,文本,图形等. 由于格式非常多样,从一种数据到另一种数 ...

  7. 【数据挖掘】3、NumPy与Pandas 清洗、爬虫、 SciKitLearn 变换、可视化

    文章目录 一.NumPy 1.1 创建数组 1.2 结构数组 1.3 连续数组 1.4 算数运算 1.5 统计函数 1.6 排序 1.7 实战 1.8 FAQ 1.8.1 axis 1.8.2 数据类 ...

  8. Pandas处理时序数据(初学者必会)!

    ↑↑↑关注后"星标"Datawhale每日干货 & 每月组队学习,不错过Datawhale干货 作者:耿远昊,Datawhale成员,华东师范大学 时序数据是指时间序列数据 ...

  9. 学习用Pandas处理分类数据!

    ↑↑↑关注后"星标"Datawhale每日干货 & 每月组队学习,不错过Datawhale干货 作者:耿远昊,Datawhale成员,华东师范大学 分类数据(categor ...

最新文章

  1. 民生银行数据库智能运维的探索与实践
  2. 笔记-项目管理基础知识-项目组织结构
  3. 删边(normal)
  4. python之字典使用方法总结
  5. dede rss.php,DeDeCMS dede 织梦cms RSS全站静态输出的实现方法
  6. python标准库模块_Python标准库模块之heapq
  7. connect函数在阻塞和非阻塞模式下的行为
  8. 计算机如果算积分排名,超级电脑预测英超积分榜:蓝军守住第4 曼联无缘欧冠...
  9. 吴军:我们之所以高估一些事情,源于认知
  10. neo4j values
  11. 在controller类的每个方法执行前调用某个方法_springboot:异步调用@Async
  12. Linux下常用的压缩解压命令[收藏]
  13. xp系统之家官网纯净版系统下载
  14. 常用参考文献GB/T 7714, MLA ,APA格式区别
  15. java实现滑动验证码
  16. 类型 异常报告 消息 null 描述 服务器遇到一个意外的情况,阻止它完成请求。 例外情况 java.lang.NumberFormatException: null java.base/
  17. [错误解决] paramiko.ssh_exception.SSHException: Error reading SSH protocol banner
  18. 教你怎样用最少的钱拍出最美的婚纱
  19. CSS综合案例-品优购电商04
  20. 20220517 Python 制作一个儿童学习软件 (附源码和软件下载) 包含语音合成 视频播放 pyqt pptsx3 Qmovie request pygame 音频播放

热门文章

  1. 一起重新开始学大数据-java篇-DAY12-自习课来波练习题
  2. 网易2020校招笔试-c++开发工程师
  3. 注册表文件缺失oracle,win7开机提示由于系统注册表文件丢失或损坏因此无法加载怎么办...
  4. No.1进程管理器V1.62--优秀的进程管理工具
  5. setAttribute()和setProperty()
  6. Java的@Transactional事务回滚
  7. Ubuntu安装NVIDIA英伟达显卡驱动教程
  8. JavaWEB三:Javascript
  9. JAVA中Swing组件的标签,组合框和列表
  10. 【移动开发】InfoQ 2022 年移动和物联网趋势报告