وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش انتخاب ستون ها در Pandas Based روی یک پیشوند رشته

0 11
زمان لازم برای مطالعه: 3 دقیقه


معرفی

Pandas یک کتابخانه قدرتمند پایتون برای کار و تجزیه و تحلیل داده ها است. یکی از عملیاتی که ممکن است لازم باشد هنگام کار با داده ها در پانداها انجام دهید، انتخاب ستون ها است روی پیشوند رشته آنها این می تواند زمانی مفید باشد که یک DataFrame بزرگ دارید و می خواهید تمرکز کنید روی ستون های خاصی که یک پیشوند مشترک دارند.

در این بایت، چند روش برای دستیابی به این هدف را بررسی خواهیم کرد، از جمله ایجاد یک سری برای انتخاب ستون ها و استفاده از آن DataFrame.loc.

همه ستون هایی که با یک رشته داده شده شروع می شوند را انتخاب کنید

بیایید با یک DataFrame ساده شروع کنیم:

import pandas as pd

data = {
    'item1': (1, 2, 3),
    'item2': (4, 5, 6),
    'stuff1': (7, 8, 9),
    'stuff2': (10, 11, 12)
}
df = pd.DataFrame(data)
print(df)

خروجی:

   item1  item2  stuff1  stuff2
0      1      4       7      10
1      2      5       8      11
2      3      6       9      12

برای انتخاب ستون هایی که با “اقلام” شروع می شوند، می توانید از درک لیست استفاده کنید:

selected_columns = (column for column in df.columns if column.startswith('item'))
print(df(selected_columns))

خروجی:

   item1  item2
0      1      4
1      2      5
2      3      6

ایجاد یک سری برای انتخاب ستون ها

روش دیگری برای انتخاب ستون ها بر اساس روی پیشوند رشته آنها ایجاد یک شیء سری از ستون های DataFrame و سپس استفاده از آن است str.startswith() روش. این روش یک سری بولی را برمی گرداند که در آن a True مقدار به این معنی است که نام ستون با رشته مشخص شده شروع می شود.

selected_columns = pd.Series(df.columns).str.startswith('item')
print(df.loc(:, selected_columns))

خروجی:

   item1  item2
0      1      4
1      2      5
2      3      6

استفاده کردن DataFrame.loc برای انتخاب ستون ها

این DataFrame.loc روش در درجه اول مبتنی بر برچسب است، اما ممکن است با آرایه بولی نیز استفاده شود. این ix ایندکسر برای DataFrame اکنون منسوخ شده است، زیرا دارای تعدادی مشکلات است. .loc الف را بالا خواهد برد KeyError زمانی که آیتم ها پیدا نمی شوند

به مثال زیر توجه کنید:

selected_columns = df.columns(df.columns.str.startswith('item'))
print(df.loc(:, selected_columns))

خروجی:

   item1  item2
0      1      4
1      2      5
2      3      6

در اینجا، ابتدا یک آرایه بولی ایجاد می کنیم که هست True برای ستون هایی که با “اقلام” شروع می شوند. سپس از این آرایه برای انتخاب ستون های مربوطه از DataFrame با استفاده از .loc نمایه ساز این روش کارآمدتر از روش های قبلی است، به خصوص برای DataFrame های بزرگ، زیرا از ایجاد یک لیست یا سری میانی جلوگیری می کند.

اعمال کردن DataFrame.filter() برای انتخاب ستون

این filter() تابع در پانداها DataFrame یک روش منعطف و کارآمد برای انتخاب ستون ها بر اساس ارائه می دهد روی نام آنها به ویژه در هنگام برخورد با مجموعه داده های بزرگ با ستون های بسیار مفید است.

این filter() تابع به ما امکان می دهد ستون ها را بر اساس انتخاب کنیم روی برچسب های آنها ما می توانیم استفاده کنیم like پارامتر برای تعیین الگوی رشته ای که با نام ستون ها مطابقت دارد. با این حال، اگر بخواهیم بر اساس ستون ها را انتخاب کنیم روی یک پیشوند رشته، می توانیم از آن استفاده کنیم regex پارامتر.

در اینجا یک مثال است:

import pandas as pd


df = pd.DataFrame({
    'product_id': (101, 102, 103, 104),
    'product_name': ('apple', 'banana', 'cherry', 'date'),
    'product_price': (1.2, 0.5, 0.75, 1.3),
    'product_weight': (150, 120, 50, 60)
})


df_filtered = df.filter(regex='^product')

print(df_filtered)

این خروجی خواهد داشت:

   product_id product_name  product_price  product_weight
0         101        apple           1.20             150
1         102       banana           0.50             120
2         103       cherry           0.75              50
3         104         date           1.30              60

در کد بالا، ^ نماد یک عبارت منظم است که با شروع یک رشته مطابقت دارد. از این رو، '^product' تمام نام ستون‌هایی که با «محصول» شروع می‌شوند مطابقت خواهد داشت.

بعد: این filter() تابع یک DataFrame جدید برمی گرداند که داده ها را با DataFrame اصلی به اشتراک می گذارد. بنابراین، هر گونه تغییر در DataFrame جدید انجام خواهد شد نه DataFrame اصلی را تحت تأثیر قرار می دهد.

نتیجه

در این بایت، روش‌های مختلفی را برای انتخاب ستون‌ها در پاندای DataFrame بررسی کردیم روی یک پیشوند رشته ما یاد گرفتیم که چگونه یک سری ایجاد کنیم و از آن برای انتخاب ستون ها استفاده کنیم، چگونه از آن استفاده کنیم DataFrame.loc تابع و روش اعمال DataFrame.filter() تابع. البته هر کدام از این روش ها مزایا و موارد کاربردی خاص خود را دارند. انتخاب روش بستگی دارد روی الزامات خاص کار تجزیه و تحلیل داده شما.

(برچسب‌ها به ترجمه)# python



منتشر شده در 1402-12-30 07:21:05

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید