如何在 pandas 中找到共同特征?
How to find shared characteristics in pandas?
我有一个数据集
我想通过查看典型的共同特征来了解我们的客户(例如“40 多岁的已婚客户喜欢红酒”)。这将对应于项目集 {Married, 40s, Wine}。
如何创建一个名为 customer_data_onehot 的新数据框,使行对应于客户(如在原始数据集中),列对应于数据中十个分类属性中每一个的类别。新数据框应仅包含布尔值(True/False 或 0/1s),使得行和列中的值为真(或 1)当且仅当对应于列的属性值适用于对应于排 。显示数据框。
我有这个提示“提示:例如,对于属性“教育”,有 5 个可能的类别:'Graduation'、'PhD'、'Master'、'Basic' , '2n Cycle'。因此,新数据框必须为每个属性值包含一列。”但我不明白我该如何实现。
有人可以在这里指导我实现正确的解决方案吗?
我有这段代码可以导入 csv 文件并从原始数据集中选择 90% 的数据。
import pandas as pd
pre_process = pd.read_csv('customer_data.csv')
pre_process = pre_process.sample(frac=0.9, random_state=413808).to_csv('customer_data_2.csv',
index=False)
使用get_dummies
:
设置一个MRE
data = {'Customer': ['A', 'B', 'C'],
'Marital_Status': ['Together', 'Married', 'Single'],
'Age_Group': ['40s', '60s', '20s']}
df = pd.DataFrame(data)
print(df)
# Output
Customer Marital_Status Age_Group
0 A Together 40s
1 B Married 60s
2 C Single 20s
out = pd.get_dummies(df.set_index('Customer')).reset_index()
print(out)
# Output
Customer Marital_Status_Married Marital_Status_Single Marital_Status_Together Age_Group_20s Age_Group_40s Age_Group_60s
0 A 0 0 1 0 1 0
1 B 1 0 0 0 0 1
2 C 0 1 0 1 0 0
我有一个数据集
我想通过查看典型的共同特征来了解我们的客户(例如“40 多岁的已婚客户喜欢红酒”)。这将对应于项目集 {Married, 40s, Wine}。
如何创建一个名为 customer_data_onehot 的新数据框,使行对应于客户(如在原始数据集中),列对应于数据中十个分类属性中每一个的类别。新数据框应仅包含布尔值(True/False 或 0/1s),使得行和列中的值为真(或 1)当且仅当对应于列的属性值适用于对应于排 。显示数据框。
我有这个提示“提示:例如,对于属性“教育”,有 5 个可能的类别:'Graduation'、'PhD'、'Master'、'Basic' , '2n Cycle'。因此,新数据框必须为每个属性值包含一列。”但我不明白我该如何实现。
有人可以在这里指导我实现正确的解决方案吗?
我有这段代码可以导入 csv 文件并从原始数据集中选择 90% 的数据。
import pandas as pd
pre_process = pd.read_csv('customer_data.csv')
pre_process = pre_process.sample(frac=0.9, random_state=413808).to_csv('customer_data_2.csv',
index=False)
使用get_dummies
:
设置一个MRE
data = {'Customer': ['A', 'B', 'C'],
'Marital_Status': ['Together', 'Married', 'Single'],
'Age_Group': ['40s', '60s', '20s']}
df = pd.DataFrame(data)
print(df)
# Output
Customer Marital_Status Age_Group
0 A Together 40s
1 B Married 60s
2 C Single 20s
out = pd.get_dummies(df.set_index('Customer')).reset_index()
print(out)
# Output
Customer Marital_Status_Married Marital_Status_Single Marital_Status_Together Age_Group_20s Age_Group_40s Age_Group_60s
0 A 0 0 1 0 1 0
1 B 1 0 0 0 0 1
2 C 0 1 0 1 0 0