Python 对开映射的内存不足

Python 对开映射的内存不足,python,pandas,memory,ram,folium,Python,Pandas,Memory,Ram,Folium,我一直在使用随附的代码构建一个HTML文件,其中包含一个带有来自数据帧的许多标记的对开本映射。直到今天,我一直在完美地使用它。现在它挂起了很长一段时间,在保存html文件时给了我一个内存错误。当我注释掉HTML文件行时,代码会在一段时间后运行 为什么我现在会出现这个错误 我的代码能更高效吗 import pandas as pd import folium import folium.plugins as plugins import folium.map as fm df = pd.rea

我一直在使用随附的代码构建一个HTML文件,其中包含一个带有来自数据帧的许多标记的对开本映射。直到今天,我一直在完美地使用它。现在它挂起了很长一段时间,在保存html文件时给了我一个内存错误。当我注释掉HTML文件行时,代码会在一段时间后运行

为什么我现在会出现这个错误

我的代码能更高效吗

import pandas as pd
import folium
import folium.plugins as plugins
import folium.map as fm


df = pd.read_excel('Stores_lat_long.xlsx')
df = df.dropna(subset=['Store Latitude'])
df = df.dropna(subset=['Store Longitude'])


sf = pd.read_excel('Stores_lat_long.xlsx', 1, index_col=0)

#oh / (sales/6)

sf['WOS'] = sf['Repl Inv Units'] / (sf['Sales Units'] / 6)

df = pd.merge(df, sf)

print(df)


#defining inital Map Object
m = folium.Map(
    location=[36.166340, -86.779068], 
    zoom_start=4)

folium.TileLayer('openstreetmap').add_to(m)
folium.TileLayer('Stamen Terrain').add_to(m)
folium.TileLayer('Stamen Toner').add_to(m)



#Define Features

fg = folium.FeatureGroup(name='Hardwood Only Stores Code 01', show=False)
m.add_child(fg)

gg = folium.FeatureGroup(name='Softwood Only Stores Code 01', show=False)
m.add_child(gg)

fgcl = folium.FeatureGroup(name='Hardwood Clustered', show=False)
fgcl_markers = plugins.MarkerCluster().add_to(fgcl)
m.add_child(fgcl)


ggcl = folium.FeatureGroup(name='Softwood Clustered', show=False)
ggcl_markers = plugins.MarkerCluster().add_to(ggcl)
m.add_child(ggcl)

# tie to top right layer control

folium.LayerControl('topright', collapsed=False).add_to(m)

#Hardwood Pellets un-clusterd

for i in range(0, len(df)):
    if df['Std Code'].iloc[i] != 1: continue
    if df['Article No'].iloc[i] != 3195163: continue

    sku = df['Article No'].iloc[i]
    store = df['Store No'].iloc[i]
    code = df['Std Code'].iloc[i]
    units = df['Repl Inv Units'].iloc[i]
    oo = df['On Order Units'].iloc[i]
    region = df['Region Full'].iloc[i]
    dm = df['Dist DM Name'].iloc[i]
    wos = df['WOS'].iloc[i]


    test = folium.Html('''

        <body>
            Store Number: <strong> {store} </strong> <br>
            Pellet SKU: <strong> {sku} </strong> <br>
            Store Coded: <strong> {code} </strong> <br>
            On-Hand Units: <strong> {units} </strong> <br>
            On-Order Units: <strong> {oo} </strong> <br>
            Region: <strong> {region} </strong> <br>
            DM: <strong> {dm} </strong> <br>
            WOS: <strong> {wos} </strong> <br>

        </body>'''.format(sku=sku, store=store, code=code, units=units, region=region, dm=dm, oo=oo,wos=wos), script=True)

    popup = folium.Popup(test, max_width=2650)
    folium.Marker(
                [df['Store Latitude'].iloc[i], df['Store Longitude'].iloc[i]], 
                popup=popup,
                tooltip= 'Store:' + str(df['Store No'].iloc[i]), 
                icon=folium.Icon(color='darkred',icon="home", prefix='fa')).add_to(fg)
    continue


#Softwood Pellets Unclustered
for i in range(0, len(df)):
    if df['Article No'].iloc[i] != 1115622: continue
    if df['Std Code'].iloc[i] != 1: continue

    sku = df['Article No'].iloc[i]
    store = df['Store No'].iloc[i]
    code = df['Std Code'].iloc[i]
    units = df['Repl Inv Units'].iloc[i]
    oo = df['On Order Units'].iloc[i]
    region = df['Region Full'].iloc[i]
    dm = df['Dist DM Name'].iloc[i]
    wos = df['WOS'].iloc[i]

    test = folium.Html('''

        <body>
            Store Number: <strong> {store} </strong> <br>
            Pellet SKU: <strong> {sku} </strong> <br>
            Store Coded: <strong> {code} </strong> <br>
            On-Hand Units: <strong> {units} </strong> <br>
            On-Order Units: <strong> {oo} </strong> <br>
            Region: <strong> {region} </strong> <br>
            DM: <strong> {dm} </strong> <br>
            WOS: <strong> {wos} </strong> <br>

        </body>'''.format(sku=sku, store=store, code=code, units=units, region=region, dm=dm, oo=oo, wos=wos), script=True)

    popup = folium.Popup(test, max_width=2650)
    folium.Marker(
                [df['Store Latitude'].iloc[i], df['Store Longitude'].iloc[i]], 
                popup=popup,
                tooltip= 'Store:' + str(df['Store No'].iloc[i]), 
                icon=folium.Icon(color='blue',icon="building", prefix='fa')).add_to(gg)
    continue


#Hardwood Clustered
for i in range(0, len(df)):
    if df['Std Code'].iloc[i] != 1: continue
    if df['Article No'].iloc[i] != 3195163: continue


    sku = df['Article No'].iloc[i]
    store = df['Store No'].iloc[i]
    code = df['Std Code'].iloc[i]
    units = df['Repl Inv Units'].iloc[i]
    oo = df['On Order Units'].iloc[i]
    region = df['Region Full'].iloc[i]
    dm = df['Dist DM Name'].iloc[i]
    wos = df['WOS'].iloc[i]


    test = folium.Html('''

        <body>
            Store Number: <strong> {store} </strong> <br>
            Pellet SKU: <strong> {sku} </strong> <br>
            Store Coded: <strong> {code} </strong> <br>
            On-Hand Units: <strong> {units} </strong> <br>
            On-Order Units: <strong> {oo} </strong> <br>
            Region: <strong> {region} </strong> <br>
            DM: <strong> {dm} </strong> <br>
            WOS: <strong> {wos} </strong> <br>

        </body>'''.format(sku=sku, store=store, code=code, units=units, region=region, dm=dm, oo=oo, wos=wos), script=True)

    popup = folium.Popup(test, max_width=2650)
    folium.Marker(
                [df['Store Latitude'].iloc[i], df['Store Longitude'].iloc[i]], 
                popup=popup,
                tooltip= 'Store:' + str(df['Store No'].iloc[i]), 
                icon=folium.Icon(color='darkred',icon="home", prefix='fa')).add_to(fgcl_markers)
    continue



#Softwood Clustered
for i in range(0, len(df)):
    if df['Article No'].iloc[i] != 1115622: continue
    if df['Std Code'].iloc[i] != 1: continue

    sku = df['Article No'].iloc[i]
    store = df['Store No'].iloc[i]
    code = df['Std Code'].iloc[i]
    units = df['Repl Inv Units'].iloc[i]
    oo = df['On Order Units'].iloc[i]
    region = df['Region Full'].iloc[i]
    dm = df['Dist DM Name'].iloc[i]
    wos = df['WOS'].iloc[i]

    
    test = folium.Html('''

        <body>
            Store Number: <strong> {store} </strong> <br>
            Pellet SKU: <strong> {sku} </strong> <br>
            Store Coded: <strong> {code} </strong> <br>
            On-Hand Units: <strong> {units} </strong> <br>
            On-Order Units: <strong> {oo} </strong> <br>
            Region: <strong> {region} </strong> <br>
            DM: <strong> {dm} </strong> <br>
            WOS: <strong> {wos} </strong> <br>

        </body>'''.format(sku=sku, store=store, code=code, units=units, region=region, dm=dm, oo=oo, wos=wos), script=True)

    

    popup = folium.Popup(test, max_width=2650)
    folium.Marker(
                [df['Store Latitude'].iloc[i], df['Store Longitude'].iloc[i]], 
                popup=popup,
                tooltip= 'Store:' + str(df['Store No'].iloc[i]), 
                icon=folium.Icon(color='blue',icon="building", prefix='fa')).add_to(ggcl_markers)
    continue



m.save(outfile='pellet_map2.html')
df.to_excel('ThisOne.xlsx')
将熊猫作为pd导入
进口叶
将folium.plugins作为插件导入
将folium.map作为fm导入
df=pd.read\u excel('Stores\u lat\u long.xlsx')
df=df.dropna(子集=['Store Latitude'])
df=df.dropna(子集=[‘存储经度’])
sf=pd.read\u excel('Stores\u lat\u long.xlsx',1,index\u col=0)
#职业健康/(销售/6)
sf['WOS']=sf['Repl Inv Units']/(sf['Sales Units']/6)
df=pd.merge(df,sf)
打印(df)
#定义初始映射对象
m=叶图(
位置=[36.166340,-86.779068],
缩放(开始=4)
叶面瓷砖('openstreetmap')。添加到(m)
小叶平铺('雄蕊地形')。添加到(米)
叶面层(“雄蕊爽肤水”)。添加到(m)
#定义特征
fg=folium.FeatureGroup(name='Hardwood仅存储代码01',show=False)
m、 添加子对象(前景)
gg=folium.FeatureGroup(name='Softwood仅存储代码01',show=False)
m、 添加子项(gg)
fgcl=folium.FeatureGroup(name='Hardwood Clustered',show=False)
fgcl_markers=plugins.MarkerCluster()。将_添加到(fgcl)
m、 添加子项(fgcl)
ggcl=叶.特征组(name='Softwood Clustered',show=False)
ggcl_markers=plugins.MarkerCluster()。将_添加到(ggcl)
m、 添加子项(ggcl)
#绑定到右上角图层控件
对页。图层控制('topright',折叠=False)。将_添加到(m)
#硬木球团未聚集
对于范围(0,len(df))内的i:
如果df['Std Code'].iloc[i]!=1:继续
如果df[‘物品编号’)。iloc[i]!=3195163:继续
sku=df[“物品编号]。iloc[i]
store=df['门店编号].iloc[i]
代码=df['Std code'].iloc[i]
单位=df['Repl Inv units'].iloc[i]
oo=df[‘按订单单位’].iloc[i]
region=df['region Full'].iloc[i]
dm=df['Dist dm Name'].iloc[i]
wos=df['wos'].iloc[i]
test=folium.Html(“”)
门店编号:{Store}
颗粒SKU:{SKU}
存储编码:{code}
现有单位:{Units}
关于订单单位:{oo}
地区:{Region}
DM:{DM}
WOS:{WOS}
''。格式(sku=sku,store=store,code=code,units=units,region=region,dm=dm,oo=oo,wos=wos),script=True) 弹出窗口=页。弹出窗口(测试,最大宽度=2650) 叶状标记( [df[‘存储纬度’].iloc[i],df[‘存储经度’].iloc[i]], 弹出=弹出, 工具提示='Store:'+str(df['Store No'].iloc[i]), icon=folium.icon(color='darkred',icon=“home”,前缀='fa')。添加到(fg) 持续 #针叶木球 对于范围(0,len(df))内的i: 如果df[‘物品编号’)。iloc[i]!=1115622:继续 如果df['Std Code'].iloc[i]!=1:继续 sku=df[“物品编号]。iloc[i] store=df['门店编号].iloc[i] 代码=df['Std code'].iloc[i] 单位=df['Repl Inv units'].iloc[i] oo=df[‘按订单单位’].iloc[i] region=df['region Full'].iloc[i] dm=df['Dist dm Name'].iloc[i] wos=df['wos'].iloc[i] test=folium.Html(“”) 门店编号:{Store}
颗粒SKU:{SKU}
存储编码:{code}
现有单位:{Units}
关于订单单位:{oo}
地区:{Region}
DM:{DM}
WOS:{WOS}
''。格式(sku=sku,store=store,code=code,units=units,region=region,dm=dm,oo=oo,wos=wos),script=True) 弹出窗口=页。弹出窗口(测试,最大宽度=2650) 叶状标记( [df[‘存储纬度’].iloc[i],df[‘存储经度’].iloc[i]], 弹出=弹出, 工具提示='Store:'+str(df['Store No'].iloc[i]), icon=folium.icon(color='blue',icon='building',prefix='fa')。添加到(gg) 持续 #硬木丛生 对于范围(0,len(df))内的i: 如果df['Std Code'].iloc[i]!=1:继续 如果df[‘物品编号’)。iloc[i]!=3195163:继续 sku=df[“物品编号]。iloc[i] store=df['门店编号].iloc[i] 代码=df['Std code'].iloc[i] 单位=df['Repl Inv units'].iloc[i] oo=df[‘按订单单位’].iloc[i] region=df['region Full'].iloc[i] dm=df['Dist dm Name'].iloc[i] wos=df['wos'].iloc[i] test=folium.Html(“”) 门店编号:{Store}
颗粒SKU:{SKU}
存储编码:{code}
现有单位:{Units}
关于订单单位:{oo}
地区:{Region}
DM:{DM}
WOS:{WOS}
''。格式(sku=sku,store=store,code=code,units=units,region=region,dm=dm,oo=oo,wos=wos),script=True) 弹出窗口=页。弹出窗口(测试,最大宽度=2650) 叶状标记( [df[‘存储纬度’].iloc[i],df[‘存储经度’].iloc[i]], 弹出=弹出, 工具提示='Store:'+str(df['Store No'].iloc[i]), icon=folium.icon(color='darkred',icon=“home”,前缀='fa'))。添加到(fgcl_标记) 持续 #软木丛生 对于范围(0,len(df))内的i: 如果df[‘物品编号’)。iloc[i]!=1115622:继续 如果df['Std Code'].iloc[i]!=1:继续 sku=df[“物品编号]。iloc[i] store=df['门店编号].iloc[i] 代码=df['Std code'].iloc[i] 单位=df['Repl