3 回答
TA贡献1833条经验 获得超4个赞
我会使用一个简单的理解来构建一个大小为 5000 的列表,其中包含与 的值一样多的城镇名称元素Population5000,如果您想要随机顺序,则可以选择将其洗牌:
lst = [m for m,n in df.loc[:len(df)-2,
['Municipio', 'Population5000']].to_numpy()
for i in range(n)]
random.shuffle(lst)
result = pd.Series(1, index=lst, name='Municipio')
用 初始化random.seed(0),它给出:
Setúbal 1
Santarém 1
Lisboa 1
Setúbal 1
Aveiro 1
..
Santarém 1
Porto 1
Lisboa 1
Faro 1
Aveiro 1
Name: Municipio, Length: 5000, dtype: int64
TA贡献1836条经验 获得超13个赞
如果这样做,您可以只做一个简单的地图;
map = dict(zip(DF1['Population5000'], DF1['Municipio'])) DF2['Municipo'] = DF2['Population5000'].map(map)
或者只是将地图 (DF2) 中的 population 5000 列名称更改为包含您的人口值的任何列。
TA贡献1765条经验 获得超5个赞
map = dict(zip(municipios['Population5000'], municipios['Municipio']))
df['Municipio'] = municipios['Population5000'].map(map)
我按照 Amen_90 和第二个数据框中的 Municipio 列的建议进行了尝试,当我想拥有与第一个数据框中的“Population5000”列相同的 value_counts 时,它只填充了每个 Municipio 的一个实例。
df["Municipio"].value_counts()
Beja 1
Aveiro 1
Bragança 1
Vila Real 1
Porto 1
Santarém 1
Coimbra 1
Guarda 1
Leiria 1
Castelo Branco 1
Viseu 1
Total 1
Faro 1
Portalegre 1
Braga 1
Évora 1
Setúbal 1
Viana do Castelo 1
Lisboa 1
Name: Municipio, dtype: int64
添加回答
举报