از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
ایندکس یک DataFrame پاندا را به یک ستون در پایتون تبدیل کنید
سرفصلهای مطلب
معرفی
مواقعی وجود دارد که از پانداها استفاده می کنید که ممکن است نیاز داشته باشید که شاخص ردیف را به یک ستون خودش تبدیل کنید. این ممکن است به چند دلیل یک عملیات مفید باشد که بعداً در این بایت خواهیم دید.
DataFrames و نمایه سازی در پانداها
Pandas یک کتابخانه دستکاری داده بسیار محبوب در پایتون است. این دارای دو ساختار داده کلیدی است – Series و DataFrame. یک DataFrame اساسا فقط یک جدول از داده ها است، شبیه به یک صفحه گسترده اکسل. هر DataFrame دارای یک شاخص است که می توانید آن را به عنوان یک ستون خاص در نظر بگیرید که هر ردیف را مشخص می کند. به طور پیش فرض، ایندکس محدوده ای از اعداد صحیح از 0 تا n-1 است که n تعداد ردیف های DataFrame است.
در اینجا یک DataFrame اساسی وجود دارد:
import pandas as pd
data = {
'Name': ('John', 'Anna', 'Peter', 'Linda'),
'Age': (28, 24, 35, 32),
'City': ('New York', 'London', 'Paris', 'Berlin')
}
df = pd.DataFrame(data)
print(df)
خروجی:
Name Age City
0 John 28 New York
1 Anna 24 London
2 Peter 35 Paris
3 Linda 32 Berlin
سمت چپ ترین ستون (0،1،2،3) شاخص این DataFrame است.
چرا ایندکس را به ستون تبدیل کنیم؟
پس چرا می خواهیم ایندکس را به ستون تبدیل کنیم؟ خوب، گاهی اوقات نمایه یک DataFrame می تواند حاوی اطلاعات ارزشمندی باشد که می خواهیم به عنوان بخشی از تجزیه و تحلیل داده های خود از آنها استفاده کنیم. اگر DataFrame ما دادههای سری زمانی باشد، ممکن است که شاخص میتواند مُهر زمانی (یا زمان نسبی از شروع سری) باشد. با تبدیل ایندکس به یک ستون، میتوانیم مانند هر ستون دیگری عملیاتی را روی آن انجام دهیم.
ایندکس را به ستون تبدیل کنید
حال بیایید ببینیم که چگونه می توانیم شاخص یک DataFrame را به یک ستون تبدیل کنیم. ما استفاده خواهیم کرد reset_index()
عملکرد ارائه شده توسط Pandas، که یک DataFrame یا سری جدید با تنظیم مجدد ایندکس ایجاد می کند.
در اینجا مراحل آمده است:
- یک DataFrame ایجاد کنید (یا از یک موجود استفاده کنید).
- با … تماس بگیر
reset_index()
عملکرد در DataFrame - اگر می خواهید شاخص قدیمی را حفظ کنید، از آن استفاده کنید
drop=False
پارامتر.
در اینجا یک مثال است:
import pandas as pd
data = {
'Name': ('John', 'Anna', 'Peter', 'Linda'),
'Age': (28, 24, 35, 32),
'City': ('New York', 'London', 'Paris', 'Berlin')
}
df = pd.DataFrame(data)
df_reset = df.reset_index()
print(df_reset)
خروجی:
index Name Age City
0 0 John 28 New York
1 1 Anna 24 London
2 2 Peter 35 Paris
3 3 Linda 32 Berlin
همانطور که می بینید، ایندکس قدیمی به ستونی با نام “index” تبدیل شده است. DataFrame اکنون دارای یک نمایه عدد صحیح پیش فرض جدید است.
راه های دیگر برای تبدیل ایندکس به ستون
در حالی که reset_index()
تابع یک راه کاملاً خوب برای تبدیل ایندکس به یک ستون است، همچنین راههای دیگری نیز برای انجام همین کار وجود دارد.
راه دیگر برای انجام این کار، ایجاد و اختصاص یک ستون جدید به صورت دستی است. میتوانیم یک ستون جدید با استفاده از نحو ایجاد کنیم:
df('new_column') = data
با فرض اینکه data
یک سری داده است، اکنون یک ستون جدید حاوی آن داده ها خواهیم داشت. ما می توانیم از این اهرم، همراه با df.index
، برای ایجاد یک ستون جدید از مقادیر شاخص:
df = pd.DataFrame({
'A': ('foo', 'bar', 'baz'),
'B': ('one', 'two', 'three')
})
df('idx') = df.index
print(df)
این همچنین منجر به ایجاد یک ستون جدید با مقادیر شاخص می شود:
A B idx
0 foo one 0
1 bar two 1
2 baz three 2
نتیجه
در این بایت، نحوه تبدیل نمایه یک DataFrame به ستون را با استفاده از کتابخانه Pandas پایتون دیدیم. ما نحوه استفاده از reset_index()
تابع، و همچنین یک روش جایگزین با استفاده از rename_axis()
و reset_index()
. ما همچنین برخی از موقعیتهایی را که تبدیل شاخص به ستون میتواند مفید باشد، مورد بحث قرار دادهایم.
منتشر شده در 1402-12-26 17:34:11