错误:未定义变量错误:名称“injured_persons”未定义

我正在学习 Streamlit,以下代码在那里运行良好并给出了所需的输出,但是当我在我的系统中从 Sublime text 尝试了相同的代码(Sublime 作为文本编辑器和 anaconda 终端来运行 Streamlit),我得到了错误“ UndefinedVariableError:名称'injured_persons'未定义”


代码:


import streamlit as st

import pandas as pd

import numpy as mp


DATA_URL=("E://Saumya//STUDY//DS//Motor_Vehicle_Collisions_-_Crashes.csv")


st.title("Motor Vehicle Collsion in New york City")

st.markdown("This application is to analyze motor vehicle collision in NYC")


@st.cache(persist=True)

def load_data(nrows):

    data=pd.read_csv(DATA_URL,nrows=nrows,parse_dates=[['CRASH DATE','CRASH TIME']])

    data.dropna(subset=['LATITUDE', 'LONGITUDE'], inplace=True)

    lowercase=lambda x : str(x).lower()

    data.rename(lowercase,axis='columns',inplace=True)

    data.rename(columns={'crash_date_crash_time' : 'date/time'},inplace=True)

    return data


data=load_data(100000)

    

st.header("How many people are injured")

injured_people = st.slider("Number of people injured", 0, 19)

st.map(data.query("injured_persons>= @injured_people")[["latitude", "longitude"]].dropna(how="any"))



if st.checkbox("Show Raw data",False):

    st.subheader("Raw Data")

    st.write(data)


守着星空守着你
浏览 79回答 1
1回答

阿波罗的战车

发生这种情况很可能是因为'injured_persons'它不在您的data.例如:df = pd.DataFrame({'A': range(1, 6),                    'B': range(10, 0, -2),                                       'C': range(10, 5, -1)})D如果我尝试访问不在我的 DataFrame 中的列名df.query('D > B')它给我一个错误UndefinedVariableError: name 'D' is not defined请检查您是否data有'injured_persons'. 你可以这样做print('injured_persons' in data.columns)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python