呆鸟的Python数据分析人工智能/模式识别/机器学习精华专题深度学习-推荐系统-CV-NLP

Pandas札记1_NBA数据处理

2019-07-23  本文已影响20人  皮皮大

数据列属性

数据是在网上爬取的,总共有27个属性,分别是:

数据读取

import numpy as np
import pandas as pd
# 读取数据
nba_data = pd.read_csv(r"D:\Python\datalearning\PandasLearning\NBA_Data.csv", encoding = 'gb18030')

# 读取头尾的5行数据。默认是5行 
print(nba_data.head())
# print(nba_data.tail())

# 指定读取前8行数据
# print(nba_data.head(8))

# 查看read_csv()函数帮助文档
# print(help(pd.read_csv))
image.png
# 查看数据中的所有列属性
print(nba_data.columns)
# 查看数据大小:多少样本、多少个属性
print(nba_data.shape)

结果

Index(['球员姓名', '赛季', '胜负', '对手球队名称', '对手球队总得分', '己方球队总得分', '己方球队名称', '首发',
       '上场时间', '投篮命中率', '投篮命中数', '投篮出手数', '三分命中率', '三分命中数', '三分出手数', '罚球命中率',
       '罚球命中数', '罚球次数', '总篮板数', '前场篮板数', '后场篮板数', '助攻数', '抢断数', '盖帽数', '失误数',
       '犯规数', '得分'],
      dtype='object')
(1193, 27)

索引与计算

# 提取第一行数据
print(nba_data.loc[0])
# print(nba_data.loc[3:8])
# print(nba_data.loc[[3, 5, 8]])

# 获取某列的值
print(nba_data["胜负"].head(10)) 
# 获取多列的值
# print(nba_data[["胜负", "助攻数"]])
image.png
# 将罚球命中率改成小数形式:除以100
# 将所有列属性转换成列表形式,方便进行读取
nba_names = nba_data.columns.tolist()

# 读取含有"率"的属性
percent_columns = []  #  定义空列表,用于存放获取到的属性值以“率”结尾的
for i in nba_names:  
    if i.endswith("率"):
        percent_columns.append(i)  # 判断属性i是否以“率”结尾
percent_nba = nba_data[percent_columns] / 100
print(percent_nba.head(10))
# print(nba_data[percent_columns])  DF的列属性
image.png
# 增加一列属性:失误和犯规;
# 数据的shape发生变化
sum_fangui_shiwu = nba_data['失误数'] + nba_data['犯规数']
nba_data["失误和犯规"] = sum_fangui_shiwu
print(nba_data.shape)
print(nba_data.head(6))
image.png
上一篇 下一篇

猜你喜欢

热点阅读