fix pagination logic to show even if there is only one page
Browse files- filter_data_app.py +10 -3
filter_data_app.py
CHANGED
|
@@ -124,12 +124,18 @@ def main():
|
|
| 124 |
|
| 125 |
# Pagination for the filtered dataframe
|
| 126 |
page_size = 10
|
| 127 |
-
total_pages =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 128 |
page_number = st.sidebar.slider("Page Number", min_value=1, max_value=total_pages, value=1)
|
| 129 |
start_idx = (page_number - 1) * page_size
|
| 130 |
-
end_idx = start_idx + page_size
|
| 131 |
paginated_df = filtered_df.iloc[start_idx:end_idx]
|
| 132 |
-
|
| 133 |
# Display the paginated dataframe
|
| 134 |
st.header("Filtered Data")
|
| 135 |
st.write("Number of Rows:", len(filtered_df))
|
|
@@ -142,6 +148,7 @@ def main():
|
|
| 142 |
hide_index=True,
|
| 143 |
)
|
| 144 |
|
|
|
|
| 145 |
# Explanation about the UpSet plot
|
| 146 |
with st.expander("About the UpSet Plot"):
|
| 147 |
st.write("""
|
|
|
|
| 124 |
|
| 125 |
# Pagination for the filtered dataframe
|
| 126 |
page_size = 10
|
| 127 |
+
total_pages = len(filtered_df) // page_size
|
| 128 |
+
if len(filtered_df) % page_size > 0: # Check if there's a remainder
|
| 129 |
+
total_pages += 1 # Add an extra page to accommodate the remainder
|
| 130 |
+
|
| 131 |
+
# Ensure there is at least one page
|
| 132 |
+
total_pages = max(total_pages, 1)
|
| 133 |
+
|
| 134 |
page_number = st.sidebar.slider("Page Number", min_value=1, max_value=total_pages, value=1)
|
| 135 |
start_idx = (page_number - 1) * page_size
|
| 136 |
+
end_idx = min(start_idx + page_size, len(filtered_df)) # Ensure end_idx does not go beyond the dataframe length
|
| 137 |
paginated_df = filtered_df.iloc[start_idx:end_idx]
|
| 138 |
+
|
| 139 |
# Display the paginated dataframe
|
| 140 |
st.header("Filtered Data")
|
| 141 |
st.write("Number of Rows:", len(filtered_df))
|
|
|
|
| 148 |
hide_index=True,
|
| 149 |
)
|
| 150 |
|
| 151 |
+
|
| 152 |
# Explanation about the UpSet plot
|
| 153 |
with st.expander("About the UpSet Plot"):
|
| 154 |
st.write("""
|