pandas
中的cut
函數(shù)可將一維數(shù)據(jù)按照給定的區(qū)間進(jìn)行分組,并為每個(gè)值分配對(duì)應(yīng)的標(biāo)簽。
其主要功能是將連續(xù)的數(shù)值數(shù)據(jù)轉(zhuǎn)化為離散的分組數(shù)據(jù),方便進(jìn)行分析和統(tǒng)計(jì)。
1. 數(shù)據(jù)準(zhǔn)備
下面的示例中使用的數(shù)據(jù)采集自王者榮耀比賽的統(tǒng)計(jì)數(shù)據(jù)。
數(shù)據(jù)下載地址:https://databook.top/。
導(dǎo)入數(shù)據(jù):
# 2023年世冠比賽選手的數(shù)據(jù)
fp = r"D:\data\player-2023世冠.csv"
df = pd.read_csv(fp)
# 這里只保留了下面示例中需要的列
df = df.loc[:, ["排名", "選手", "場(chǎng)均經(jīng)濟(jì)", "場(chǎng)均傷害"]]
df
2. 使用示例
每個(gè)選手的“場(chǎng)均經(jīng)濟(jì)”和“場(chǎng)均傷害”是連續(xù)分布的數(shù)據(jù),為了整體了解所有選手的情況,
可以使用下面的方法將“場(chǎng)均經(jīng)濟(jì)”和“場(chǎng)均傷害”分類。
2.1. 查看數(shù)據(jù)分布
首先,可以使用直方圖的方式看看數(shù)據(jù)連續(xù)分布的情況:
import matplotlib.pyplot as plt
df.loc[:, ["場(chǎng)均經(jīng)濟(jì)", "場(chǎng)均傷害"]].hist()
plt.show()
圖中的橫軸是“經(jīng)濟(jì)”和“傷害”的數(shù)值,縱軸是選手的數(shù)量。
2.2. 定制分布參數(shù)
從默認(rèn)的直方圖中可以看出大部分選手的“場(chǎng)均經(jīng)濟(jì)”和“場(chǎng)均傷害”大致在什么范圍,
不過(guò),為了更精細(xì)的分析,我們可以進(jìn)一步定義自己的分類范圍,看看各個(gè)分類范圍內(nèi)的選手?jǐn)?shù)量情況。
比如,我們將“場(chǎng)均經(jīng)濟(jì)”分為3塊,分別為低(0~5000
),中(5000~10000
),高(10000~20000
)。
同樣,對(duì)于“場(chǎng)均傷害”,也分為3塊,分別為低(0~50000
),中(50000~100000
),高(100000~200000
)。
bins1 = [0, 5000, 10000, 20000]
bins2 = [0, 50000, 100000, 200000]
labels = ["低", "中", "高"]
s1 = "場(chǎng)均經(jīng)濟(jì)"
s2 = "場(chǎng)均傷害"
df[f"{s1}-分類"] = pd.cut(df[s1], bins=bins1, labels=labels)
df[f"{s2}-分類"] = pd.cut(df[s2], bins=bins2, labels=labels)
df
分類之后,選手被分到3個(gè)類別之中,然后再繪制直方圖。
df.loc[:, f"{s1}-分類"].hist()
plt.title(f"{s1}-分類")
plt.show()
從這個(gè)圖看出,大部分選手都是“中”,“高”的經(jīng)濟(jì),說(shuō)明職業(yè)選手很重視英雄發(fā)育。
df.loc[:, f"{s2}-分類"].hist()
plt.title(f"{s2}-分類")
plt.show()
從圖中可以看出,打出高傷害的選手比例并不高,可能職業(yè)比賽中,更多的是團(tuán)隊(duì)作戰(zhàn)。
3. 總結(jié)
總的來(lái)說(shuō),cut
函數(shù)的主要作用是將輸入的數(shù)值數(shù)據(jù)(可以是一維數(shù)組、Series或DataFrame的列)按照指定的間隔或自定義的區(qū)間邊界進(jìn)行劃分,并為每個(gè)劃分后的區(qū)間分配一個(gè)標(biāo)簽。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-837884.html
這樣,原始的連續(xù)數(shù)據(jù)就被轉(zhuǎn)化為了離散的分組數(shù)據(jù),每個(gè)數(shù)據(jù)點(diǎn)都被分配到了一個(gè)特定的組中,從而方便后續(xù)進(jìn)行分析和統(tǒng)計(jì)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-837884.html
到了這里,關(guān)于掌握pandas cut函數(shù),一鍵實(shí)現(xiàn)數(shù)據(jù)分類的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!