【发布时间】:2022-11-16 01:45:58
【问题描述】:
所以我正在为一个项目创建一个虚拟数据,这个表有一百万行:
您可以看到 sub-reason 列包含所有 NaN 值,因为我正在创建这些数据。我想要的是根据原因列放置一个值:
- 如果原因是“维护”,我想在以下之间放置一个随机值:['Indoor Connection','Last Mile Connection']
- 如果原因是“新连接”,我想在['延迟连接','连接请求']之间放置一个随机值
- 如果原因是“计费”,我想在 ['Update Request','Change Personal Info'] 之间设置一个随机值
- 如果原因是投诉,我想在 ['Wire Cut','Bad Service'] 之间设置一个随机值
所以我所做的是一个非常基本的方法:
for i in range(len(cop2)): if cop2['Reason'].loc[i][0] == 'Maintenance': cop2['Sub-Reason'].loc[i][0] = np.random.choice(list(subReason1)) if cop2['Reason'].loc[i][0] == 'Connection': cop2['Sub-Reason'].loc[i][0] = np.random.choice(list(subReason2)) if co2['Reason'].loc[i][0] == 'Billing': cop2['Sub-Reason'].loc[i][0] = np.random.choice(list(subReason3)) if cop2['Reason'].loc[i][0] == 'Complaints': cop2['Sub-Reason'].loc[i][0] = np.random.choice(list(subReason4))它工作正常,但需要很长时间(50 分钟)。我怎样才能以一种不需要很长时间但可以正常工作的方式做到这一点?
【问题讨论】: