نمایش 1 پاسخ رشته ها
  • نویسنده
    نوشته‌ها
    • #3615
      ghelich
      مشارکت کننده
        Up
        0
        Down
        ::

        سلام

        یه برنامه نیاز دارم که بتواند داده های مرا که در مثلا در فایل اکسل “بازار” در ستون “قیمت” از شیت “ورودی” قرار دارند را بخواند و پس از محاسبه LSMA با دوره مثلا 55 روزه که مثلا در خانه A5 از شیت “تنظیمات” قرار دانوشته شده (این عدد 55 میتواند تغییر کند)  مقادیر محاسبه شده LSMA با دوره 55 روزه را در ستون مثلا “Lsma” همان شیت “ورودی” ثبت کرده و پس از اتمام محاسبات برای تمام ردیف های “قیمت” فایل نهایی را ذخیره نموده و از برنامه خارج شود.

        • این موضوع 3 ماه، 3 هفته پیش توسط ghelich اصلاح شده است.
        Attachments:
        You must be logged in to view attached files.
      • #3758
        Up
        0
        Down
        ::

        جواب سوال شما با استفاده از AI در زیر آورده شده است:

        
        
        # Load the Excel file
        input_file = 'your_file.xlsx' # Replace with your Excel file name
        input_sheet_name = 'Input'
        compare_sheet_name = 'Compare'
        
        # Read the Input and Compare sheets into DataFrames
        input_df = pd.read_excel(input_file, sheet_name=input_sheet_name)
        compare_df = pd.read_excel(input_file, sheet_name=compare_sheet_name)
        
        # Get the LSMA period from the Compare sheet (assuming it's in A5)
        lsma_period = compare_df.iloc[4, 0] # Adjust if necessary based on actual layout
        
        # Function to calculate LSMA
        def calculate_lsma(prices, period):
            return prices.rolling(window=period).mean()
        
        # Filter for rows where 'Price' column contains 'Market'
        market_rows = input_df[input_df['Price'].str.contains('Market', na=False)]
        
        # Calculate LSMA for the relevant rows and store in 'Lsma' column
        input_df.loc[market_rows.index, 'Lsma'] = calculate_lsma(market_rows['Price'].astype(float), lsma_period)
        
        # Save the updated DataFrame back to the Excel file
        input_df.to_excel(input_file, sheet_name=input_sheet_name, index=False)
        
        print("LSMA calculation completed and saved.")

        توضیحات:

        import کتابخانه ها: کد با import کتابخانه پاندا، که برای مدیریت فایل های اکسل و دستکاری داده ها ضروری است، شروع می شود.

        بارگذاری فایل اکسل: فایل اکسل مشخص شده بارگیری می شود و دو sheet در DataFrames خوانده می شود: ورودی و مقایسه.

        بازیابی دوره LSMA: دوره LSMA از سلول A5 برگه مقایسه استخراج می شود.

        محاسبه تابع LSMA: تابعی برای محاسبه میانگین متحرک حداقل مربعات (LSMA) با استفاده از روش میانگین غلتشی تعریف می شود.

        فیلتر ردیف‌ها: کد ردیف‌هایی را از Input DataFrame که در ستون Price حاوی کلمه Market است، فیلتر می‌کند.

        محاسبه و ذخیره LSMA :LSMA برای آن ردیف‌های فیلتر شده محاسبه می‌شود، قیمت‌ها را برای محاسبه به شناور تبدیل می‌کند و نتایج در ستون جدیدی به نام Lsma ذخیره می‌شوند.

        ذخیره تغییرات: در نهایت، DataFrame به روز شده به فایل اکسل اصلی ذخیره می شود.

        یادداشت ها:

        مطمئن شوید که “your_file.xlsx” را با نام فایل واقعی فایل اکسل خود جایگزین کرده اید.

        اگر ساختار داده شما با آنچه در این مثال فرض شده است متفاوت است، فهرست بندی را تنظیم کنید.

        مطمئن شوید که پاندا و openpyxl (برای مدیریت فایل اکسل) را با استفاده از pip نصب کرده اید، اگر قبلاً نصب نشده اند:

        pip install pandas openpyxl

         

    نمایش 1 پاسخ رشته ها
    • شما برای پاسخ به این موضوع باید وارد شوید.
    پیمایش به بالا