Pandas札记1_NBA数据处理

浏览: 936

数据列属性

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

数据读取

  • 导入数据:read_csv
  • 读取头、尾的几行数据: head(n);tail(n);默认是5
  • 读取列属性:columns属性
  • 读取数据维度:shape属性
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)

索引与计算

  • 读取某行数据:loc属性
  • 读取某列数据:df.["属性1"];有点类似字典,通过key获取所有的value
  • 读取多列数据:df.[["属性1", "属性2"]]
# 提取第一行数据
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))

推荐 0
本文由 皮大大 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册