【问题标题】:Error : UndefinedVariableError: name 'injured_persons' is not defined错误:UndefinedVariableError:未定义名称“injured_persons”
【发布时间】:2021-01-14 05:33:37
【问题描述】:

我正在学习 streamlit,当我浏览教程视频时,已经提供了对远程桌面的访问,它具有所有先决条件(Atom 作为文本编辑器和 streamlit),以下代码在那里运行良好并提供了所需的输出, 但是,当我在我的系统中尝试相同的代码(Sublime 作为文本编辑器和 anaconda 终端运行 streamlit)时,我收到错误“UndefinedVariableError: name 'injured_persons' is not defined

代码

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)

Below is the link to my error screenshot

【问题讨论】:

标签: python pandas streamlit


【解决方案1】:

这很可能是因为'injured_persons' 不在您的data 中。

例如:

df = pd.DataFrame({'A': range(1, 6),
                   'B': range(10, 0, -2),
                   'C': range(10, 5, -1)})

如果我尝试访问不在我的 DataFrame 中的列名 D

df.query('D > B')

它给我一个错误

UndefinedVariableError: name 'D' is not defined

请检查您的data 是否有'injured_persons'。 你可以通过print('injured_persons' in data.columns)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-01
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-02
    • 2019-09-09
    • 2017-12-13
    相关资源
    最近更新 更多