1、创建衍生变量
对衍生变量进行可视化是一种强大的数据分析实践。衍生变量是从现有数据中生成的新变量,它们可以提供对数据集的更深层次理解。
import pandas as pd
import numpy as np
# 生成示例数据
np.random.seed(0)
data = {
'Age': np.random.randint(20, 60, 100),
'Salary': np.random.randint(50000, 150000, 100),
'Education': np.random.choice(['Bachelor', 'Master', 'PhD'], 100),
'City': np.random.choice(['Zhang San', 'Li Si', 'Wang Wu'], 100)
}
# 创建DataFrame
df = pd.DataFrame(data)
print(df.head())
# 在原有的df基础上创建衍生变量
# 创建一个简单的衍生变量,例如"Seniority",基于年龄
df['Seniority'] = df['Age'].apply(lambda x: 'Senior' if x >= 40 else 'Junior')
# 假设薪资大于100000为高收入,否则为普通收入
df['Income Level'] = df['Salary'].apply(lambda x: 'High' if x > 100000 else 'Medium')
print(df.head())
参考文档:Python pandas.DataFrame.apply函数方法的使用
2、使用 pairplot() 绘制成对的双变量分布
pairplot()
函数是一个非常有用的工具,用于绘制数据集中每对变量之间的关系。这对于快速查看数据集中多个变量之间的关系非常有用。通过调整参数,可以轻松地探索数据集中多个变量之间的复杂关系。常用参数如下,
参数 | 描述 |
data | 要绘制的DataFrame。 |
hue | 用于分组的变量名称,通常是分类变量。 |
palette | 用于绘图的颜色方案。 |
vars | 要绘制的DataFrame中的特定列名列表。 |
kind | 非对角线上的图的类型(如'scatter', 'reg')。 |
diag_kind | 对角线上的图的类型(如 'hist', 'kde')。 |
markers | 每个等级的 hue 变量的标记。 |
height | 每个子图的高度(英寸)。 |
使用示例:
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
# 生成示例数据
np.random.seed(0)
data = {
'Age': np.random.randint(20, 60, 100),
'Salary': np.random.randint(50000, 150000, 100),
'Education': np.random.choice(['Bachelor', 'Master', 'PhD'], 100),
'City': np.random.choice(['Zhang San', 'Li Si', 'Wang Wu'], 100)
}
# 创建DataFrame
df = pd.DataFrame(data)
# 在原有的df基础上创建衍生变量
# 创建一个简单的衍生变量,例如"Seniority",基于年龄
df['Seniority'] = df['Age'].apply(lambda x: 'Senior' if x >= 40 else 'Junior')
# 假设薪资大于100000为高收入,否则为普通收入
df['Income Level'] = df['Salary'].apply(lambda x: 'High' if x > 100000 else 'Medium')
# 使用pairplot可视化衍生变量
sns.pairplot(df, hue='Income Level', diag_kind='kde', height=2.5)
plt.show()