如何在线串上运行 50/50 概率表达式,其中两个可能性用 "or" 分隔?



我正在开发一个地理数据框架(panda(,其中包含社交媒体用户及其家乡的信息。与他们的家乡直辖市的纵队有524个直辖市。其中453个城市有两个以线串形式存在的市镇;'City1 or City2'

two_cities = [s for s in gdf['home_municipality'] if " or " in s]
print(two_cities)

到目前为止,我已经用上面的代码创建了一个列表,其中只包括带"或"的值。我的问题是;我如何在列表项目上运行50/50的概率,随机选择一个市政当局分配给每个相应的用户?

以下是列表项的片段:

['Vaasa or Mustasaari', 'Helsinki or Espoo', 'Vantaa or Turku', 'Helsinki or Espoo', 'Paimio or Turku', 'Turku or Helsinki', 'Helsinki or Espoo']

仅以其中一个字符串'Vaasa or Mustasaari'为例,您就可以将其转换为两个城市的列表,然后使用random.randit随机选择一个0到1之间的整数,并将其用作要从列表中获取的城市的索引。由于只有两个整数是可能的,这相当于50/50的机会。

import random
city_string = 'Vaasa or Mustasaari'
cities = city_string.split(' or ')
user_city = cities[random.randint(0, 1)]
print(user_city)

输出:

>>> user_city = cities[random.randint(0, 1)]
>>> print(user_city)
Mustasaari
>>> user_city = cities[random.randint(0, 1)]
>>> print(user_city)
Vaasa

最新更新