از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
نوشتن یک Pandas DataFrame در یک فایل CSV در پایتون
سرفصلهای مطلب
معرفی
کار با داده ها بخش بزرگی از هر پروژه تجزیه و تحلیل داده است. در پایتون، کتابخانه پانداها ابزار قدرتمندی است که ساختارهای داده منعطف و کارآمدی را برای ایجاد process دستکاری و تجزیه و تحلیل داده ها آسان تر است. یکی از رایج ترین ساختارهای داده ارائه شده توسط پانداها DataFrame است که می توان آن را جدولی از داده ها با سطرها و ستون ها در نظر گرفت. با این حال، اغلب می خواهید DataFrame خود را برای استفاده بعدی در فایلی ذخیره کنید یا با دیگران به اشتراک بگذارید. یکی از رایج ترین فرمت های فایل برای ذخیره سازی داده ها CSV است.
در این مقاله، روش نوشتن a را بررسی خواهیم کرد pandas
DataFrame به یک فایل CSV.
چرا یک DataFrame در یک فایل CSV بنویسیم؟
فایلهای CSV به دلایل متعددی یک انتخاب محبوب برای ذخیرهسازی دادهها هستند. اول از همه، آنها مبتنی بر متن هستند و بنابراین برای انسان قابل خواندن هستند. این بدان معنی است که می توانید یک فایل CSV را در یک ویرایشگر متن ساده باز کنید تا به سرعت داده های موجود در آن را مشاهده و درک کنید.
فایل های CSV نیز به طور گسترده ای مورد استفاده قرار می گیرند و توسط بسیاری از نرم افزارهای مختلف قابل درک هستند. این امر به اشتراک گذاری داده ها بین سیستم ها و زبان های برنامه نویسی مختلف را آسان می کند. اگر با تیمی کار میکنید که از ابزارهای مختلفی استفاده میکند، ذخیره DataFrame در یک فایل CSV تضمین میکند که همه میتوانند با دادهها کار کنند.
در نهایت، نوشتن یک DataFrame در یک فایل CSV راهی برای حفظ داده های شما است. وقتی در یک جلسه پایتون کار می کنید، DataFrame شما فقط در حافظه وجود دارد. اگر جلسه پایتون خود را ببندید، DataFrame شما از بین می رود. با نوشتن آن در یک فایل CSV، میتوانید دادههای خود را در دیسک ذخیره کنید و به شما امکان میدهد بعداً دوباره به آن دسترسی داشته باشید، حتی پس از بسته شدن و بازگشایی جلسه پایتون.
import pandas as pd
df = pd.DataFrame({
'A': (1, 2, 3),
'B': ('a', 'b', 'c')
})
df.to_csv('my_data.csv')
در این کد یک DataFrame ایجاد می شود و سپس در یک فایل CSV به نام نوشته می شود my_data.csv
. پس از اجرای این کد، یک فایل جدید در فهرست فعلی خود با این نام، حاوی داده های DataFrame خود خواهید یافت.
روش نوشتن یک DataFrame در یک فایل CSV
Pandas، یک کتابخانه محبوب دستکاری دادههای پایتون، روشی ساده و در عین حال قدرتمند برای نوشتن یک DataFrame در یک فایل CSV ارائه میکند. کارکرد to_csv()
چیزی است که ما نیاز داریم
بیایید با یک DataFrame پایه شروع کنیم:
import pandas as pd
data = {'Name': ('John', 'Anna', 'Peter'),
'Age': (28, 24, 33),
'Country': ('USA', 'Sweden', 'Germany')}
df = pd.DataFrame(data)
DataFrame ما به شکل زیر است:
Name Age Country
0 John 28 USA
1 Anna 24 Sweden
2 Peter 33 Germany
برای نوشتن این DataFrame در یک فایل CSV، از to_csv()
عملکرد مانند این است:
df.to_csv('data.csv')
این یک فایل CSV به نام ایجاد می کند data.csv
در فهرست فعلی شما
اگر می خواهید مکان دیگری را مشخص کنید، مسیر کامل را ارائه کنید. مثلا، df.to_csv('/path/to/your/directory/data.csv')
.
نوشتن DataFrame در CSV با جداکننده خاص
به طور پیش فرض، to_csv()
تابع از کاما به عنوان جداکننده فیلد استفاده می کند. با این حال، شما می توانید یک جدا کننده متفاوت با استفاده از sep
پارامتر.
به عنوان مثال، اجازه دهید DataFrame خود را با استفاده از نقطه ویرگول به عنوان جداکننده در یک فایل CSV بنویسیم:
df.to_csv('data_semicolon.csv', sep=';')
این یک فایل CSV به نام ایجاد می کند data_semicolon.csv
با داده های جدا شده با نقطه ویرگول.
Name;Age;Country
John;28;USA
Anna;24;Sweden
Peter;33;Germany
توجه داشته باشید: را sep
پارامتر هر کاراکتری را به عنوان جداکننده می پذیرد. با این حال، جداکننده های رایج عبارتند از کاما، نقطه ویرگول، تب (\t
و فاصله (‘ ‘).
این انعطاف پذیری پانداها به شما این امکان را می دهد که به راحتی DataFrame خود را در یک فایل CSV که با نیازهای شما مطابقت دارد بنویسید، خواه یک CSV استاندارد باشد یا یک CSV با یک جداکننده خاص.
نوشتن DataFrame در CSV بدون ایندکس
بهطور پیشفرض، وقتی یک DataFrame را روی یک فایل CSV با استفاده از to_csv()
تابع، pandas شامل شاخص DataFrame است. با این حال، ممکن است سناریوهایی وجود داشته باشد که شما این را نمی خواهید. در چنین مواردی، می توانید تنظیم کنید index
پارامتر به False
برای حذف فهرست از فایل CSV.
در اینجا یک مثال است:
import pandas as pd
df = pd.DataFrame({
'A': ('foo', 'bar', 'baz'),
'B': ('alpha', 'beta', 'gamma')
})
print(df)
df.to_csv('no_index.csv', index=False)
را print(df)
دستور خروجی خواهد داد:
A B
0 foo alpha
1 bar beta
2 baz gamma
اما no_index.csv
فایل به شکل زیر خواهد بود:
A,B
foo,alpha
bar,beta
baz,gamma
همانطور که می بینید، فایل CSV شامل فهرست DataFrame نیست.
اگر فایل CSV را در یک ویرایشگر متن باز کنید، ممکن است نمایه DataFrame را نبینید. با این حال، اگر فایل CSV را در یک برنامه صفحه گسترده مانند اکسل باز کنید، ایندکس را به عنوان ستون اول خواهید دید.
رسیدگی به موارد خاص
هنگام نوشتن یک DataFrame در یک فایل CSV ممکن است با چند مورد خاص مواجه شوید.
مدیریت مقادیر NaN
به طور پیش فرض، پانداها می نویسند NaN
مقادیر فایل CSV با این حال، شما می توانید این رفتار را با استفاده از na_rep
پارامتر. این پارامتر به شما امکان می دهد رشته ای را که جایگزین می شود مشخص کنید NaN
ارزش های.
در اینجا یک مثال است:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'A': ('foo', np.nan, 'baz'),
'B': ('alpha', 'beta', np.nan)
})
df.to_csv('nan_values.csv', na_rep='NULL')
در nan_values.csv
فایل، NaN
مقادیر جایگزین می شوند NULL
:
,A,B
0,foo,alpha
1,NULL,beta
2,baz,NULL
نوشتن زیر مجموعه ای از DataFrame در CSV
گاهی اوقات، ممکن است بخواهید فقط زیر مجموعه ای از DataFrame را در فایل CSV بنویسید. شما می توانید این کار را با استفاده از columns
پارامتر. این پارامتر به شما امکان می دهد لیستی از نام ستون ها را که می خواهید در فایل CSV قرار دهید را مشخص کنید.
در اینجا یک مثال است:
import pandas as pd
df = pd.DataFrame({
'A': ('foo', 'bar', 'baz'),
'B': ('alpha', 'beta', 'gamma'),
'C': (1, 2, 3)
})
df.to_csv('subset.csv', columns=('A', 'B'))
را subset.csv
فایل فقط شامل ستون های “A” و “B” خواهد بود:
,A,B
0,foo,alpha
1,bar,beta
2,baz,gamma
یاد آوردن، pandas
یک کتابخانه قدرتمند است و گزینه های زیادی برای نوشتن DataFrames در فایل های CSV ارائه می دهد. حتما بررسی کنید اسناد رسمی برای یادگیری بیشتر
نتیجه
در این آموزش، قدرت پانداها و توانایی آن در نوشتن DataFrame در یک فایل CSV را بررسی کرده ایم. ما روش اصلی نوشتن DataFrame در یک فایل CSV، روش تعیین جداکننده و روش نوشتن DataFrame در فایل CSV بدون فهرست را یاد گرفتیم. ما همچنین به بررسی موارد خاص در نوشتن یک DataFrame در یک فایل CSV پرداختهایم.
(برچسبها به ترجمه)# python
منتشر شده در 1402-12-28 23:29:03