بکندباز

نحوه انجام محاسبات روی داده ها با Pandas

Pandas یک کتابخانه محبوب در زمینه تحلیل داده ها در پایتون است که به شما اجازه می‌دهد با داده ها به صورت آسان و سریع کار کنید. با Pandas، شما می‌توانید به سرعت داده ها را فیلتر، تبدیل، ترکیب و محاسبه کنید. در زیر، چند مثال از عملیات محاسباتی روی داده ها با Pandas آورده شده است:

ایجاد و انتخاب داده ها

ایجاد DataFrame

در مثال زیر، یک DataFrame با استفاده از دیکشنری ایجاد شده است:

import pandas as pd
data = {'name': ['John', 'Doe', 'Jane', 'Smith'],
        'age': [25, 30, 18, 40],
        'salary': [50000, 70000, 30000, 90000]}
df = pd.DataFrame(data)

انتخاب ستون

برای انتخاب یک ستون از DataFrame، کافی است نام ستون مورد نظر را به عنوان یک ورودی به داخل دستور loc یا iloc بدهید:

# انتخاب ستون name با استفاده از loc
df.loc[:, 'name']

# انتخاب ستون salary با استفاده از iloc
df.iloc[:, 2]

انتخاب ردیف

برای انتخاب یک ردیف از DataFrame، می‌توانید از دستور loc یا iloc استفاده کنید:

# انتخاب ردیف اول با استفاده از loc
df.loc[0, :]

# انتخاب ردیف سوم با استفاده از iloc
df.iloc[2, :]

اعمال شرط

برای اعمال شرط به یک DataFrame، شما می‌توانید از دستورات شرطی استفاده کنید:

# فیلتر کردن ردیف هایی که سن بیشتر از 25 است
df[df['age'] > 25]

# فیلتر کردن ردیف هایی که حقوق بین 30,000 و 60,000 دلار است
df[(df['salary'] >= 30000) & (df['salary'] <= 60000)]

انجام محاسبات آماری روی داده ها

با استفاده از Pandas، شما می‌توانید محاسبات آماری مختلفی را روی داده ها اعمال کنید.

محاسبه میانگین:

برای محاسبه میانگین از دستور mean استفاده می‌شود:

# محاسبه میانگین سن
df['age'].mean()

# محاسبه میانگین حقوق
df['salary'].mean()

محاسبه مجموع:

برای محاسبه مجموع از دستور sum استفاده می‌شود:

# محاسبه مجموع سن
df['age'].sum()

# محاسبه مجموع حقوق
df['salary'].sum()

محاسبه حداکثر و حداقل:

برای محاسبه حداکثر و حداقل از دستورهای max و min استفاده می‌شود:

# محاسبه حداکثر حقوق
df['salary'].max()

# محاسبه حداقل حقوق
df['salary'].min()

محاسبه واریانس و انحراف معیار:

برای محاسبه واریانس و انحراف معیار از دستورهای var و std استفاده می‌شود:

# محاسبه واریانس سن
df['age'].var()

# محاسبه انحراف معیار حقوق
df['salary'].std()

مرتب سازی:

برای مرتب سازی یک DataFrame، می‌توانید از دستور sort_values استفاده کنید:

# مرتب سازی بر اساس سن
df.sort_values(by='age')

# مرتب سازی بر اساس حقوق
df.sort_values(by='salary')

این عملیات‌ها فقط چند مثال از عملیات‌هایی است که با Pandas انجام می‌دهید، اما این کتابخانه توانایی‌های بسیاری دارد و می‌توانید با مطالعه بیشتر در آن مهارت خود را توسعه دهید.

backendbaz

مدیر وب سایت بکندباز

دیدگاه‌ها

*
*

    Mahtab_mh پاسخ

    سلام. 
    چطور میتونم در پایتون از میان داده های عددی، مقادیری که از میانگین بیشتر هستند رو شمارش کنم؟

      backendbaz پاسخ

      برای شمارش مقادیری که از میانگین یک مجموعه عددی بیشتر هستند، می‌توانید از کتابخانه statistics برای محاسبه میانگین استفاده کرده و بعد داده‌ها را فیلتر کنید.

      from statistics import mean
      
      # لیست داده‌ها
      data = [10, 20, 30, 40, 50]
      
      # محاسبه میانگین
      average = mean(data)
      
      # شمارش مقادیر بیشتر از میانگین
      count = sum(1 for x in data if x > average)
      
      print(f"میانگین: {average}")
      print(f"تعداد مقادیر بیشتر از میانگین: {count}")
      

      توضیحات:

      1. محاسبه میانگین: از تابع mean برای به‌دست آوردن میانگین لیست استفاده شده است.
      2. فیلتر کردن و شمارش مقادیر: یک generator expression به کار رفته که برای هر مقداری که شرط x > average را برآورده کند، مقدار 1 بازمی‌گرداند. سپس از sum برای جمع کردن این مقادیر استفاده شده است.
    Mahtab_mh پاسخ

    تشکر از زمانی که گذاشتید. متاسفانه این متد به من پاسخ نمیده :(

    Mahtab_mh پاسخ

    نه اتفاقا روی کدی که شما زدید درست بود. من احتمالا جایی مشکل دارم. براتون الان کدم رو میفرستم. 

    Number = int(input())Sum = 0for i in range(Number): Mutation = int(input()) Sum += MutationM = Sum / Numberprint(Sum)print(f"{M:.2f}")from statistics import meanOut = sum(1 for x in range(Number) if x > M)print(Out)

      backendbaz پاسخ

      مشکل کد اینجا هست که توی خط یکی مونده به آخر، که بخش اصلی شمارش اعداد بزرگتر از میانگین هست، شما دارید اعداد درون range(Number) رو چک می کنید. یعنی اگر Number برابر با 5 باشه، بین اعداد 0 تا 4 داره بررسی میشه که کدومشون از میانگین بیشتر هستند. که ارتباطی به اعدادی که در بخش Mutation = int(input()) وارد کردید نداره.

      باید همه Mutation ها رو در یک لیست ذخیره کنید و در خط Out = sum(1 for x in Mutations  if x > M) استفاده کنید.

      لینک کد اصلاح شده:

      مشاهده کد

    Mahtab_mh پاسخ

    متوجه شدم. خیلی خیلی ممنونم از شما