在 Python 中将数值变量转换为分类变量

2021-11-16 11:24:59 浏览数 (2)

这篇文章是今天发布的CTGAN的补充,我们可以使用pandas的cut函数将数据进行离散化、将连续变量进行分段汇总,这比写自定义函数要简单的多。

需要注意的是pandas默认的分段数值必须要多一位,否则会报错(分段数值也可以是负数)。

下面看看代码,还是使用泰坦尼克数据集:

代码语言:javascript复制
import seaborn as sns
import pandas as pd
import numpy as np
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)df=pd.read_csv("titanic.csv")
# You also get the same dataset from seaborn
#df=sns.load_dataset('titanic').head(10)df.head()
代码语言:javascript复制
df['New_Age']=pd.cut(df['Age'],[0,10,18,25,40,90])
代码语言:javascript复制
df.pivot_table("Survived", index=["Sex","Pclass"],columns="new_age")

另外一个函数是qcut:他会根据这些值的频率来选择箱子的均匀间隔,即每个箱子中含有的数的数量是相同的。

0 人点赞