我如何 运行 在线串上的 50/50 概率表达式,两种可能性由 "or" 分隔?
How can I run 50/50 probability expressions on linestrings with two possibilities separated by "or"?
我正在处理一个地理数据框 (pandas),其中包含有关社交媒体用户及其所在城市的信息。他们所在城市的列有 524 个城市。其中453个有两个直辖市,呈线串形式; 'City1 or City2'
two_cities = [s for s in gdf['home_municipality'] if " or " in s]
print(two_cities)
到目前为止,我已经用上面的代码创建了一个列表,其中只包含 "or" 的值。我的问题是;我怎样才能 运行 在列表项上以 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
随机select一个整数介于 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
我正在处理一个地理数据框 (pandas),其中包含有关社交媒体用户及其所在城市的信息。他们所在城市的列有 524 个城市。其中453个有两个直辖市,呈线串形式; 'City1 or City2'
two_cities = [s for s in gdf['home_municipality'] if " or " in s]
print(two_cities)
到目前为止,我已经用上面的代码创建了一个列表,其中只包含 "or" 的值。我的问题是;我怎样才能 运行 在列表项上以 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
随机select一个整数介于 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