如何从指定列表随机选取城市名填充Pandas DataFrame的Vendor_City列?
用随机以色列城市填充Pandas DataFrame的Vendor_City列
实现步骤
- 导入所需的
pandas和numpy库 - 定义以色列城市列表
- 生成与DataFrame行数匹配的随机城市序列,填充空白的
Vendor_City列
完整代码示例
import pandas as pd import numpy as np # 定义以色列城市列表 Israel_Cities = ['Acre','Ashdod','Ashqelon','Bat Yam','Beersheba','Bnei Brak','Caesarea','Dimona','Dor','Elat','Kefar Sava','Lod','Meron','Nahariyya','Nazareth','Netanya'] # 假设你的DataFrame名为df # 生成随机城市数组,replace=True允许重复选取(适配DataFrame行数多于城市数量的场景) random_cities = np.random.choice(Israel_Cities, size=len(df), replace=True) # 填充Vendor_City列 df['Vendor_City'] = random_cities
替代实现方式(无需额外导入numpy)
import pandas as pd import random Israel_Cities = ['Acre','Ashdod','Ashqelon','Bat Yam','Beersheba','Bnei Brak','Caesarea','Dimona','Dor','Elat','Kefar Sava','Lod','Meron','Nahariyya','Nazareth','Netanya'] df['Vendor_City'] = [random.choice(Israel_Cities) for _ in range(len(df))]
注意事项
replace=True允许重复选取同一城市,若DataFrame行数大于城市列表长度,必须保留该参数,否则会因取值不足报错。- 若需每个城市仅被选取一次(仅当DataFrame行数≤城市数量时可行),将
replace=True改为replace=False即可。
内容的提问来源于stack exchange,提问作者Dipam Soni
相关产品推荐
相关产品推荐

