成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Pandas使用DataFrame進行數(shù)據(jù)分析比賽進階之路(一)

yeooo / 2693人閱讀

摘要:按照某一列的數(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())

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
2、DataFrame.query()
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: int64
4、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: int64
6、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   71
7、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

相關(guān)文章

  • 數(shù)據(jù)游戲」:使用 ARIMA 算法預(yù)測三日后招商銀行收盤價

    摘要:作者天瓊,數(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的股價。 主...

    xcc3641 評論0 收藏0
  • 數(shù)據(jù)游戲」:使用 ARIMA 算法預(yù)測三日后招商銀行收盤價

    摘要:作者天瓊,數(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的股價。 主...

    Nino 評論0 收藏0
  • Python 數(shù)據(jù)分析pandas 進階()

    摘要:所處理的數(shù)組是方法可以對指定軸上的索引進行改變增加刪除操作,這將返回原始數(shù)據(jù)的一個拷貝去掉包含缺失值的行對缺失值進行填充對數(shù)據(jù)進行布爾填充五合并提供了大量的方法能夠輕松的對和對象進行各種符合各種邏輯關(guān)系的合并操作。 導(dǎo)入本篇中使用到的模塊: import numpy as np import pandas as pd from pandas import Ser...

    red_bricks 評論0 收藏0

發(fā)表評論

0條評論

yeooo

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<