我有一份 5 个地区之一的销售代表名单。我需要将它们分配给数量相等的潜在客户列表。
这是字典的例子:
d = {'Large': 'Jackson', 'Large': 'Stevens', 'Large': 'Miller', 'Medium': 'James', 'Medium': 'Samuels', 'Medium': 'Shandler', 'Small': 'Fast', 'Small': 'Shorter'}
这是潜在客户列表数据框的示例,因为我希望它在将销售代表从字典分配到销售代表列后查看:
客户规模 | 销售代表 |
---|---|
大 | 杰克逊 |
大 | 史蒂文斯 |
中等 | 詹姆斯 |
中等 | 塞缪尔斯 |
中等 | 山德勒 |
中等 | 詹姆斯 |
中等 | 塞缪尔斯 |
中等 | 山德勒 |
小 | 快 |
小 | 更短 |
小 | 快 |
小 | 更短 |
小 | 快 |
小 | 更短 |
这是我到目前为止能够想出的代码:
import pandas as pd
# Create a dictionary
d = {'Large': 'Jackson', 'Large': 'Stevens', 'Large': 'Miller', 'Medium': 'James', 'Medium': 'Samuels', 'Medium': 'Shandler', 'Small': 'Fast', 'Small': 'Shorter'}
# Create a DataFrame
df = pd.read_csv('clientlist.csv')
# Assign the dictionary values to the DataFrame column
df['Sales Rep'] = df['Client Size'].map(d)
我不知道如何编写一个函数,以某种方式计算数据框的客户端大小列中匹配值的数量,然后平均分配字典中的值。
我建议将字典转换为字典列表。我将使用名称
d
而不是 dict
以避免与内置类 dict
: 的名称冲突
sales = [{'Client Size': k, 'Sales Rep': v for k, v in d.items()]
现在您可以从此列表中获取数据框:
df = pd.DataFrame(sales)