اذهب إلى المحتوى
  • 0

كيفية إستدعاء ملف CSV إلى NumPy في بايثون python؟

Mohssen A Mohssen

السؤال

لدي ملف بصيغة CSV ويحتوي على بيانات بالشكل التالي:

231, 0
456, 1
84, 0
1234, 0
126, 1

كيف يمكنني إستدعاء هذه الأعمدة من الملف في NumPy؟ بحيث تكون نفس نتيجة الكود التالي:

first_col = np.array([231, 456, 84, 1234, 126])
second_col = np.array([0, 1, 0, 0, 1])

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

يمكننا التعامل مع ملفات ال csv بشكل فعال باستعمال المكتبة pandas و خاصة باستعمال التابع read_csv.

من ثم يمكن الوصول إلى العمود المطلوب و تمريره إلى np.array للحصول على المطلوب، أي لتحويل العمود إلى مصفوفة numpy.

يمكن القيام بذلك بالشكل التالي:

import pandas as pd
import numpy as np

df = pd.read_csv('data.csv', header=None)
first_col = np.array(df[[0]])
second_col = np.array(df[[1]])

هنا قمنا بوضع الخيار header=None و ذلك ﻷنه لا يوجد أسماء للأعمدة في الملف، و بالتالي البيانات تبدأ من أول سطر و هو سيقوم هنا بتسمية الأعمدة بالأرقام بدءاً من الصفر، و لهذا أمكننا الوصول إلى أول عمود باستعمال الدليل 0 و ثاني عمود باستعمال الدليل 1.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

في الحقيقة هناك الكثير من الطرق لاستدعاء ملف csv عن طريق مكتبة numpy 

  • باستعمال دالة loadtext :

لاستيراد البيانات من ملف نصي ، سنستخدم طريقة NumPy loadtxt (). لاستخدام هذه الدالة ، نحتاج إلى التأكد من أن عدد الإدخالات في كل سطر من المستند النصي يجب أن يكون متساويًا. في Python ، يتم استخدام numpy.load () لتحميل البيانات من ملف نصي ، بهدف القراءة السريعة للملفات النصية الأساسية.

تعريف الدالة 

numpy.loadtxt('data.csv')

مثال: تحميل ملف csv من طريقة loadtxt 

import numpy as np

# باستعمال loadtxt()
arr = np.loadtxt("academy_hsoub.csv",delimiter=",", dtype=str)
print(arr)
  • باستعمال دالة genfromtxt :

تُستخدم دالة genfromtxt () لاستيراد البيانات من مستند نصي. يمكننا تحديد كيفية التعامل مع القيم المفقودة في مجموعة البيانات الخاصة بنا في حالة وجودها.

التعريف او syntax :

numpy.genfromtxt('data.csv')

مثال :

import numpy as np

# باستعمال genfromtxt()
arr = np.genfromtxt("academy_hsoub.csv",delimiter=",", dtype=str)
print(arr)

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...