日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

python語言中pandas字符串分割str.split()函數_python

作者:hanyunkaka ? 更新時間: 2022-09-30 編程語言

前言

為了介紹python語言中pandas庫在數據分析中的重要作用,本人打算以NBA球星勒布朗詹姆斯在2020-2021賽季常規賽個人數據為例對pandas相關函數進行詳細說明。利用爬蟲技術,在知名籃球網站虎撲爬取了勒布朗詹姆斯的數據,稍后會將數據上傳至csdn,以供大家下載。

這篇文章,詳細介紹了pandas字符串分割函數---str.split()的用法。

DataFrame.str.split(pa,n,expand)
pat:字符串分隔符,默認為空格。
n:用于指定需要分割的次數,默認為-1。其中,None,0和-1都被解釋為返回所有分割的字符串。
expand:將拆分的字符串展開為單獨的列,默認為False。

????????????????True:返回DataFrame / MultiIndex;

? ? ? ??????????False:返回包含字符串列表的Series / Index。

1、常規賽數據格式

勒布朗詹姆斯2020-2021賽季常規賽個人數據的數據結構如下:

日期 對手 比分 時間 投籃 ...
05/17 鵜鶘 110-98(勝) 27 11-22 ...
05/16 步行者 122-115(勝) 28 11-22 ...
... ... ... ... ... ...

2、計算詹姆斯常規賽命中率

勒布朗詹姆斯2020-2021賽季常規賽個人數據中只有每場比賽的命中率,數據的第4列為每場比賽的投籃數和命中數,格式為"命中數-投籃數"。如果想要計算詹姆斯整個常規賽的命中率,則需要算出他常規賽的投籃數和命中數。此時,需要用到pandas分割字符串函數str.split()。

import numpy as np
import pandas as pd
df = pd.read_csv(“lbj-2020-2021-regular.csv”,encoding="gbk")
df0 = df['投籃'].str.split("-",expand=True)
df0.columns = ['命中數','投籃數']

DataFrame類型的df0即為詹姆斯常規賽的命中數和投籃數,如下所示:

0 命中數 投籃數
1 11 22
2 11 22
... ... ...

因為要分別求取命中數和投籃數的總和,所以需要將df0的列轉化為整型,繼而可得到詹姆斯整個常規賽的命中率。

df0['命中數'] = df0['命中數'].astype('int')
df0['投籃數'] = df0['投籃數'].astype('int')
ShootRate = df0['命中數'].sum() / df0['投籃數'].sum()

計算得到,詹姆斯2020-2021常規賽投籃命中率為51.34%,還是很不錯的水平。

總結

原文鏈接:https://blog.csdn.net/hanyunkaka/article/details/120586261

欄目分類
最近更新