我想创建一个有五列的PandasDataFrame:日期、房屋类型、邻居、房地产经纪人和邮政编码。
- 日期范围为2023年8月1日至2023年9月1日
- 共有4种户型
- 6名房地产经纪人
- 只有一个街区
- 只有一个邮政编码所以每个日期需要重复16次,对于每种房子类型,在这个唯一的社区,对于每个房地产经纪人和一个唯一的邮政编码,所以每天有16行。
我可以将连续的日期添加到date列中,但是,添加其余的数据时遇到了麻烦,我认为这些数据应该嵌套在for循环中,到目前为止,我有以下几行:
import pandas as pd
from datetime import date,timedelta
delta = timedelta(days=1)
start = date(2023,8,1)
end=date(2023,9,1)
loop_date = start
df = pd.DataFrame(columns={"Date", "House type", "Neighborhood", "Realtor", "Zipcode"})
while loop_date<=end:
df = df.append({"Date":loop_date},ignore_index=True)
loop_date+=delta
每天的预期产出如下:
| 日期|户型|邻里|房地产经纪人|邮政编码|
| - ------|- ------|- ------|- ------|- ------|
| 2023年8月1日|1个|项目a|亚历克斯|小行星10018|
| 2023年8月1日|第二章|项目a|亚历克斯|小行星10018|
| 2023年8月1日|三个|项目a|亚历克斯|小行星10018|
| 2023年8月1日|四个|项目a|亚历克斯|小行星10018|
| 2023年8月1日|1个|项目a|玛吉|小行星10018|
| 2023年8月1日|第二章|项目a|玛吉|小行星10018|
| 2023年8月1日|三个|项目a|玛吉|小行星10018|
| 2023年8月1日|四个|项目a|玛吉|小行星10018|
| 2023年8月1日|1个|项目a|姜|小行星10018|
| 2023年8月1日|第二章|项目a|姜|小行星10018|
| 2023年8月1日|三个|项目a|姜|小行星10018|
| 2023年8月1日|四个|项目a|姜|小行星10018|
| 2023年8月1日|1个|项目a|帕特|小行星10018|
| 2023年8月1日|第二章|项目a|帕特|小行星10018|
| 2023年8月1日|三个|项目a|帕特|小行星10018|
| 2023年8月1日|四个|项目a|帕特|小行星10018|
任何帮助将不胜感激,谢谢!
3条答案
按热度按时间qyswt5oh1#
试试这个:
vlju58qv2#
这听起来像笛卡尔积,我认为
itertools
中的product
可以帮助:xggvc2p63#
您可以使用两个嵌套循环创建 Dataframe :
while
循环迭代日期(您已经了解了这个循环)for
循环迭代房地产经纪人列表您可以简单地创建包含日期、房地产经纪人和房屋类型的临时 Dataframe
df_temp
(从numpy数组中读取),将它们附加到一个列表中,最后将此 Dataframe 列表连接到您的输出 Dataframedf
中:完成此操作后,剩下要做的唯一事情就是填充
Neighborhood
和Zipcode
列!