摘要:按照某一列的數(shù)值進行排序后輸出。根據(jù)國籍這一列的屬性進行分組,然后分別計算相同國籍的潛力的平均值。值得注意的是,在分組函數(shù)后面使用一個函數(shù)可以返回帶有分組大小的結(jié)果。
這篇文章中使用的數(shù)據(jù)集是一個足球球員各項技能及其身價的csv表,包含了60多個字段。數(shù)據(jù)集下載鏈接:數(shù)據(jù)集
1、DataFrame.info()這個函數(shù)可以輸出讀入表格的一些具體信息。這對于加快數(shù)據(jù)預(yù)處理非常有幫助。
import pandas as pd import matplotlib.pyplot as plt data = pd.read_csv("dataset/soccer/train.csv") print(data.info())
2、DataFrame.query()RangeIndex: 10441 entries, 0 to 10440 Data columns (total 65 columns): id 10441 non-null int64 club 10441 non-null int64 league 10441 non-null int64 birth_date 10441 non-null object height_cm 10441 non-null int64 weight_kg 10441 non-null int64 nationality 10441 non-null int64 potential 10441 non-null int64 ... dtypes: float64(12), int64(50), object(3) memory usage: 5.2+ MB None
import pandas as pd import matplotlib.pyplot as plt data = pd.read_csv("dataset/soccer/train.csv") print(data.query("lw>cf")) # 這兩個方法是等價的 print(data[data.lw > data.cf]) # 這兩個方法是等價的3、DataFrame.value_counts()
這個函數(shù)可以統(tǒng)計某一列中不同值出現(xiàn)的頻率。
import pandas as pd import matplotlib.pyplot as plt data = pd.read_csv("dataset/soccer/train.csv") print(data.work_rate_att.value_counts())
Medium 7155 High 2762 Low 524 Name: work_rate_att, dtype: int644、DataFrame.sort_values()
按照某一列的數(shù)值進行排序后輸出。
import pandas as pd import matplotlib.pyplot as plt data = pd.read_csv("dataset/soccer/train.csv") print(data.sort_values(["sho"]).head(5))5、DataFrame.groupby()
根據(jù)國籍(nationality)這一列的屬性進行分組,然后分別計算相同國籍的潛力(potential)的平均值。
import pandas as pd import matplotlib.pyplot as plt data = pd.read_csv("dataset/soccer/train.csv") potential_mean = data["potential"].groupby(data["nationality"]).mean().head(5) print(potential_mean)
nationality 1 74.945338 2 72.914286 3 67.892857 4 69.000000 5 70.024242 Name: potential, dtype: float64
根據(jù)國籍(nationality),俱樂部(club)這兩列的屬性進行分組,然后分別計算球員潛力(potential)的平均值。
import pandas as pd import matplotlib.pyplot as plt data = pd.read_csv("dataset/soccer/train.csv") potential_mean = data["potential"].head(20).groupby([data["nationality"], data["club"]]).mean() print(potential_mean)
nationality club 1 148 76 461 72 5 83 64 29 593 68 43 213 67 51 258 62 52 112 68 54 604 81 63 415 70 64 359 74 78 293 73 90 221 70 96 80 72 101 458 67 111 365 64 379 83 584 65 138 9 72 155 543 72 163 188 71 Name: potential, dtype: int64
值得注意的是,在分組函數(shù)后面使用一個size()函數(shù)可以返回帶有分組大小的結(jié)果。
potential_mean = data["potential"].head(200).groupby([data["nationality"], data["club"]]).size()
nationality club 1 148 1 43 213 1 51 258 1 52 112 1 54 604 1 78 293 1 96 80 1 101 458 1 155 543 1 163 188 1 Name: potential, dtype: int646、DataFrame.agg()
這個函數(shù)一般在groupby函數(shù)之后使用。
import pandas as pd import matplotlib.pyplot as plt data = pd.read_csv("dataset/soccer/train.csv") potential_mean = data["potential"].head(10).groupby(data["nationality"]).agg(["max", "min"]) print(potential_mean)
max min nationality 1 76 76 43 67 67 51 62 62 52 68 68 54 81 81 78 73 73 96 72 72 101 67 67 155 72 72 163 71 717、DataFrame.apply()
將某一個函數(shù)應(yīng)用到某一列或者某一行上,可以極大加快處理速度。
import pandas as pd import matplotlib.pyplot as plt # 返回球員出生日期中的年份 def birth_date_deal(birth_date): year = birth_date.split("/")[2] return year data = pd.read_csv("dataset/soccer/train.csv") result = data["birth_date"].apply(birth_date_deal).head() print(result)
0 96 1 84 2 99 3 88 4 80 Name: birth_date, dtype: object
當(dāng)然如果使用lambda函數(shù)的話,代碼會更加簡潔:
data = pd.read_csv("dataset/soccer/train.csv") result = data["birth_date"].apply(lambda x: x.split("/")[2]).head() print(result)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/44680.html
摘要:作者天瓊,數(shù)據(jù)游戲優(yōu)勝隊伍成員介紹本文整理記錄了參與的一次小型數(shù)據(jù)分析競賽數(shù)據(jù)游戲,競賽目標(biāo)是預(yù)測年月日股閉市時招商銀行的股價。日發(fā)現(xiàn)的數(shù)據(jù)有錯誤,需要手工矯正日該數(shù)據(jù)恢復(fù)正常。而函數(shù),是對樣本外的數(shù)據(jù)進行預(yù)測。 作者:天瓊,「數(shù)據(jù)游戲」優(yōu)勝隊伍成員 介紹 本文整理記錄了參與的一次小型數(shù)據(jù)分析競賽「數(shù)據(jù)游戲」,競賽目標(biāo)是預(yù)測2019年5月15日A股閉市時招商銀行600036的股價。 主...
摘要:作者天瓊,數(shù)據(jù)游戲優(yōu)勝隊伍成員介紹本文整理記錄了參與的一次小型數(shù)據(jù)分析競賽數(shù)據(jù)游戲,競賽目標(biāo)是預(yù)測年月日股閉市時招商銀行的股價。日發(fā)現(xiàn)的數(shù)據(jù)有錯誤,需要手工矯正日該數(shù)據(jù)恢復(fù)正常。而函數(shù),是對樣本外的數(shù)據(jù)進行預(yù)測。 作者:天瓊,「數(shù)據(jù)游戲」優(yōu)勝隊伍成員 介紹 本文整理記錄了參與的一次小型數(shù)據(jù)分析競賽「數(shù)據(jù)游戲」,競賽目標(biāo)是預(yù)測2019年5月15日A股閉市時招商銀行600036的股價。 主...
摘要:所處理的數(shù)組是方法可以對指定軸上的索引進行改變增加刪除操作,這將返回原始數(shù)據(jù)的一個拷貝去掉包含缺失值的行對缺失值進行填充對數(shù)據(jù)進行布爾填充五合并提供了大量的方法能夠輕松的對和對象進行各種符合各種邏輯關(guān)系的合并操作。 導(dǎo)入本篇中使用到的模塊: import numpy as np import pandas as pd from pandas import Ser...
閱讀 1519·2021-09-02 13:57
閱讀 1928·2019-08-30 15:55
閱讀 2519·2019-08-30 15:54
閱讀 2339·2019-08-30 15:44
閱讀 2795·2019-08-30 13:18
閱讀 539·2019-08-30 13:02
閱讀 867·2019-08-29 18:46
閱讀 1716·2019-08-29 11:25