Python - Memproses Data CSV

Membaca data dari CSV (nilai dipisahkan koma) adalah kebutuhan mendasar dalam Ilmu Data. Seringkali, kami mendapatkan data dari berbagai sumber yang dapat diekspor ke format CSV sehingga dapat digunakan oleh sistem lain. Pustaka Panadas menyediakan fitur yang dapat kita gunakan untuk membaca file CSV secara penuh maupun sebagian untuk hanya grup kolom dan baris yang dipilih.

Masukan sebagai File CSV

File csv adalah file teks yang nilai-nilai di kolomnya dipisahkan dengan koma. Mari pertimbangkan data berikut yang ada di file bernamainput.csv.

Anda dapat membuat file ini menggunakan windows notepad dengan menyalin dan menempelkan data ini. Simpan file sebagaiinput.csv menggunakan opsi save As All files (*. *) di notepad.

id,name,salary,start_date,dept
1,Rick,623.3,2012-01-01,IT
2,Dan,515.2,2013-09-23,Operations
3,Tusar,611,2014-11-15,IT
4,Ryan,729,2014-05-11,HR
5,Gary,843.25,2015-03-27,Finance
6,Rasmi,578,2013-05-21,IT
7,Pranab,632.8,2013-07-30,Operations
8,Guru,722.5,2014-06-17,Finance

Membaca File CSV

Itu read_csvfungsi pustaka pandas digunakan untuk membaca konten file CSV ke dalam lingkungan python sebagai DataFrame pandas. Fungsi ini dapat membaca file dari OS dengan menggunakan jalur yang benar ke file tersebut.

import pandas as pd
data = pd.read_csv('path/input.csv')
print (data)

Ketika kita mengeksekusi kode di atas, hasilnya adalah sebagai berikut. Harap perhatikan bagaimana kolom tambahan yang dimulai dengan nol sebagai indeks telah dibuat oleh fungsi tersebut.

id    name  salary  start_date        dept
0   1    Rick  623.30  2012-01-01          IT
1   2     Dan  515.20  2013-09-23  Operations
2   3   Tusar  611.00  2014-11-15          IT
3   4    Ryan  729.00  2014-05-11          HR
4   5    Gary  843.25  2015-03-27     Finance
5   6   Rasmi  578.00  2013-05-21          IT
6   7  Pranab  632.80  2013-07-30  Operations
7   8    Guru  722.50  2014-06-17     Finance

Membaca Baris Tertentu

Itu read_csvfungsi pustaka pandas juga dapat digunakan untuk membaca beberapa baris tertentu untuk kolom tertentu. Kami memotong hasil dari fungsi read_csv menggunakan kode yang ditunjukkan di bawah ini untuk 5 baris pertama untuk kolom bernama gaji.

import pandas as pd
data = pd.read_csv('path/input.csv')

# Slice the result for first 5 rows
print (data[0:5]['salary'])

Ketika kita mengeksekusi kode di atas, hasilnya adalah sebagai berikut.

0    623.30
1    515.20
2    611.00
3    729.00
4    843.25
Name: salary, dtype: float64

Membaca Kolom Tertentu

Itu read_csvfungsi pustaka pandas juga dapat digunakan untuk membaca beberapa kolom tertentu. Kami menggunakan metode pengindeksan multi-sumbu yang disebut.loc()untuk tujuan ini. Kami memilih untuk menampilkan kolom gaji dan nama untuk semua baris.

import pandas as pd
data = pd.read_csv('path/input.csv')

# Use the multi-axes indexing funtion
print (data.loc[:,['salary','name']])

Ketika kita mengeksekusi kode di atas, hasilnya adalah sebagai berikut.

salary    name
0  623.30    Rick
1  515.20     Dan
2  611.00   Tusar
3  729.00    Ryan
4  843.25    Gary
5  578.00   Rasmi
6  632.80  Pranab
7  722.50    Guru

Membaca Kolom dan Baris Tertentu

Itu read_csvfungsi pustaka pandas juga dapat digunakan untuk membaca beberapa kolom dan baris tertentu. Kami menggunakan metode pengindeksan multi-sumbu yang disebut.loc()untuk tujuan ini. Kami memilih untuk menampilkan kolom gaji dan nama untuk beberapa baris.

import pandas as pd
data = pd.read_csv('path/input.csv')

# Use the multi-axes indexing funtion
print (data.loc[[1,3,5],['salary','name']])

Ketika kita mengeksekusi kode di atas, hasilnya adalah sebagai berikut.

salary   name
1   515.2    Dan
3   729.0   Ryan
5   578.0  Rasmi

Membaca Kolom Tertentu untuk Rentang Baris

Itu read_csvfungsi pustaka pandas juga dapat digunakan untuk membaca beberapa kolom dan rentang baris tertentu. Kami menggunakan metode pengindeksan multi-sumbu yang disebut.loc()untuk tujuan ini. Kami memilih untuk menampilkan kolom gaji dan nama untuk beberapa baris.

import pandas as pd
data = pd.read_csv('path/input.csv')

# Use the multi-axes indexing funtion
print (data.loc[2:6,['salary','name']])

Ketika kita mengeksekusi kode di atas, hasilnya adalah sebagai berikut.

salary    name
2  611.00   Tusar
3  729.00    Ryan
4  843.25    Gary
5  578.00   Rasmi
6  632.80  Pranab