TypeError: cannot do slice indexing on <class 'pandas.core.indexes.datetimes.DatetimeIndex'> with these indexers [0.0] of <class 'float'>

问题描述 投票:0回答:1

这是我的代码,使用streamlit

def main():

st.title(
    'Aplikasi Forecasting Exchange Rate')

def file_selector(folder_path='./datasets'):

    filenames = os.listdir(folder_path)
    selected_filename = st.selectbox("Select A file", filenames)
    return os.path.join(folder_path, selected_filename)

filename = file_selector()
st.info("Kamu memilih {}".format(filename))

# Read Data
dateparse = lambda dates: pd.datetime.strptime(dates,'%d-%m-%y')
akhir = pd.read_csv(filename, index_col=[0], date_parser=dateparse)
akhir['Terakhir'] = akhir['Terakhir'].str.replace(',', '').astype(float)

# Show Dataset
if st.checkbox("Show Dataset"):
    number = st.number_input("Number of Rows to View")
    st.dataframe(akhir.head(number))

当我想显示数据集类型Error: cannot do slice indexing on with these indexers [0.0] of

python streamlit
1个回答
0
投票

出现这种情况是因为默认的 number_input 使用了0.01的步长,而且你没有指定任何函数参数,这意味着返回的是一个float。

要修正你的代码。

number = st.number_input("Number of Rows to View", min_value = 0, step = 1)

https:/docs.streamlit.ioenlatestapi.html#streamlit.number_input

© www.soinside.com 2019 - 2024. All rights reserved.