Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Noob question
#4
I sorted out how to choose by year as i missed one option.
        df = df[df['PMarket'].isin(market_list)]
        df = df[df['PYear']==market_date]
df = df[df['PYear']==market_date] <--- this one allows me to choose year from select list.

df_mc.columns = ['PMarket', 'PDate', 'Count']
df_mc.columns = ['PMarket', 'Count'] <--- to show on my chart.

But now i realised all of this could be done using date picker in streamlit as im having a hard time to converting month, day, week tu datetime.

with features:

        market_options = df['PMarket'].unique().tolist()
        min_date = pd.to_datetime(df['PuDate'], errors='coerce')                     # PDate renamed to PuDate [ purchase date ]
        max_date = pd.to_datetime(df['PuDate'], errors='coerce') 
        value=(min(df['PuDate']), max(df['PuDate'])),

        
        market_date = st.date_input(
            "Date picker",
            min_value=min(df['PuDate']),
            max_value=max(df['PuDate']),
            value=(min(df['PuDate']), max(df['PuDate'])),
            format="YYYY/MM/DD"
        )
        market_list = st.multiselect('Choose market area', market_options, ['Atlanta'])

        df = df[df['PMarket'].isin(market_list)]
        df = df[df['PuDate']==market_date]

        df_mc = df.groupby(df['PMarket'])['PuDate'].count().reset_index()
        df_mc.columns = ['PMarket', 'Count']

        fig1 = px.bar(df_mc, x="PMarket", y="Count", color='PMarket', range_y=[0,30], text_auto=True)

        fig1.update_layout(width=1000)

        st.write(fig1)
    
But im getting an error.
Error:
ValueError: Lengths must match Traceback: File "/home/evo/koala/lib/python3.11/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 552, in _run_script exec(code, module.__dict__) File "/home/evo/koala/koala.py", line 183, in <module> df = df[df['PuDate']==market_date] ^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/evo/koala/lib/python3.11/site-packages/pandas/core/ops/common.py", line 81, in new_method return method(self, other) ^^^^^^^^^^^^^^^^^^^ File "/home/evo/koala/lib/python3.11/site-packages/pandas/core/arraylike.py", line 40, in __eq__ return self._cmp_method(other, operator.eq) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/evo/koala/lib/python3.11/site-packages/pandas/core/series.py", line 6096, in _cmp_method res_values = ops.comparison_op(lvalues, rvalues, op) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/evo/koala/lib/python3.11/site-packages/pandas/core/ops/array_ops.py", line 279, in comparison_op res_values = op(lvalues, rvalues) ^^^^^^^^^^^^^^^^^^^^ File "/home/evo/koala/lib/python3.11/site-packages/pandas/core/ops/common.py", line 81, in new_method return method(self, other) ^^^^^^^^^^^^^^^^^^^ File "/home/evo/koala/lib/python3.11/site-packages/pandas/core/arraylike.py", line 40, in __eq__ return self._cmp_method(other, operator.eq) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/evo/koala/lib/python3.11/site-packages/pandas/core/arrays/datetimelike.py", line 935, in _cmp_method other = self._validate_comparison_value(other) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/evo/koala/lib/python3.11/site-packages/pandas/core/arrays/datetimelike.py", line 574, in _validate_comparison_value raise ValueError("Lengths must match")
Im trying to imply my previous code.
Reply


Messages In This Thread
Noob question - by BSDevo - Sep-07-2023, 05:19 AM
RE: Noob question - by snippsat - Sep-07-2023, 09:55 AM
RE: Noob question - by BSDevo - Sep-07-2023, 08:11 PM
RE: Noob question - by BSDevo - Sep-08-2023, 09:18 AM
RE: Noob question - by deanhystad - Sep-08-2023, 12:55 PM

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020