我正在学习 Streamlit,以下代码在那里运行良好并给出了所需的输出,但是当我在我的系统中从 Sublime text 尝试了相同的代码(Sublime 作为文本编辑器和 anaconda 终端来运行 Streamlit),我得到了错误“ UndefinedVariableError:名称'injured_persons'未定义”代码:import streamlit as stimport pandas as pdimport numpy as mpDATA_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 datadata=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)
1 回答
阿波罗的战车
TA贡献1862条经验 获得超6个赞
发生这种情况很可能是因为'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)
添加回答
举报
0/150
提交
取消