如何获取 27 个城市的 list/df 并为每个城市创建一个包含 151 个城市名称实例的数据框(总共 4077 行)

How to take a list/df of 27 cities and create a dataframe with 151 instances of the city name for EACH city (4077 rows total)

我一直在尝试通过互联网上的各种方法来获取一个包含 27 个城市的列表,并创建一个数据框,其中包含 151 个城市名称实例,这 27 个城市中的每一个都按照我放置的顺序分组在列表中(总共 4077 行)。

我尝试了各种方法来使用 .loc 来隔离我需要的数据,但问题是在我导入的 excel 文件中有些城市共享相同的名称。那些同名的城市确实有不同的州缩写,但我找不到任何东西(我能理解)我是否可以根据州和名称删除行。有办法吗?

我尝试的另一件事是创建一个包含 27 个城市名称的列表并将其乘以 151。但这对这个不起作用,因为我需要读取列表中的数据而不仅仅是重复列表本身 27 次。

我正在从我的 phone 写这篇文章,所以我没有代码可以粘贴到这里但是:

假设我只需要三个城市,我希望它为按各自顺序列出的 3 个城市中的每一个创建一个包含 5 个实例(15 行)的 df 作为一个小规模示例:

City_name

 - Philadelphia
 - Boston
 - Chicago

我正在尝试获得如下所示的内容:

City_name

 - Philadelphia
 - Philadelphia
 - Philadelphia
 - Philadelphia
 - Philadelphia
 - Boston 
 - Boston 
 - Boston 
 - Boston 
 - Boston 
 - Chicago
 - Chicago
 - Chicago
 - Chicago
 - Chicago

(见谅,这里不知道怎么格式化)

如何在不编写 27 个数据帧(每个城市 1 个)的情况下最好地实现这一目标,将这些数据帧单独相乘得到 151 instances/rows,然后稍后附加它们?

我可以那样做,但我敢肯定一定有一种更简洁的方法,我无法在互联网上find/understand。

谢谢!

你试过np.repeat了吗?你有包含 27 个城市的列表,np.repeat` 你将数字更改为你想要的重复次数。

City_name = ["Philadelphia", "Boston", "Chicago"]
df = pd.DataFrame({"City_name": np.repeat(City_name, repeats=5)})
print(df)

            
       City_name
0   Philadelphia
1   Philadelphia
2   Philadelphia
3   Philadelphia
4   Philadelphia
5         Boston
6         Boston
7         Boston
8         Boston
9         Boston
10       Chicago
11       Chicago
12       Chicago
13       Chicago
14       Chicago