Python - CSV Verilerini İşleme

CSV'den (virgülle ayrılmış değerler) veri okumak, Veri Biliminde temel bir gerekliliktir. Genellikle, diğer sistemler tarafından kullanılabilmeleri için CSV formatına aktarılabilen çeşitli kaynaklardan veri alırız. Panadas kitaplığı, CSV dosyasını tam olarak ve yalnızca seçilen bir sütun ve satır grubu için parçalar halinde okuyabileceğimiz özellikler sağlar.

CSV Dosyası olarak gir

Csv dosyası, sütunlardaki değerlerin virgülle ayrıldığı bir metin dosyasıdır. Adlı dosyada bulunan aşağıdaki verileri düşüneliminput.csv.

Bu dosyayı, bu verileri kopyalayıp yapıştırarak Windows not defteri kullanarak oluşturabilirsiniz. Dosyayı farklı kaydedininput.csv Not defterinde Tüm dosyalar olarak kaydet (*. *) seçeneğini kullanarak.

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

CSV Dosyasını Okumak

read_csvpandas kitaplığının işlevi, bir CSV dosyasının içeriğini pandalar DataFrame olarak python ortamına okumak için kullanılır. İşlev, dosyanın uygun yolunu kullanarak dosyaları işletim sisteminden okuyabilir.

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

Yukarıdaki kodu çalıştırdığımızda aşağıdaki sonucu verir. Lütfen fonksiyon tarafından indeks olarak sıfır ile başlayan ek bir sütunun nasıl oluşturulduğuna dikkat edin.

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

Belirli Satırları Okuma

read_csvPandas kitaplığının işlevi, belirli bir sütun için bazı belirli satırları okumak için de kullanılabilir. Maaş adlı sütunun ilk 5 satırı için aşağıda gösterilen kodu kullanarak read_csv işlevinden sonucu dilimledik.

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

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

Yukarıdaki kodu çalıştırdığımızda aşağıdaki sonucu verir.

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

Belirli Sütunları Okuma

read_csvPandas kitaplığının işlevi, bazı belirli sütunları okumak için de kullanılabilir. Çok eksenli indeksleme yöntemini kullanıyoruz..loc()bu amaç için. Tüm satırlar için maaş ve ad sütununu görüntülemeyi seçiyoruz.

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

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

Yukarıdaki kodu çalıştırdığımızda aşağıdaki sonucu verir.

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

Belirli Sütunları ve Satırları Okuma

read_csvPandas kitaplığının işlevi, bazı belirli sütunları ve belirli satırları okumak için de kullanılabilir. Çok eksenli indeksleme yöntemini kullanıyoruz..loc()bu amaç için. Bazı satırlar için maaş ve ad sütununu görüntülemeyi seçiyoruz.

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']])

Yukarıdaki kodu çalıştırdığımızda aşağıdaki sonucu verir.

salary   name
1   515.2    Dan
3   729.0   Ryan
5   578.0  Rasmi

Bir Satır Aralığı İçin Belirli Sütunları Okuma

read_csvPandas kitaplığının işlevi, bazı belirli sütunları ve bir dizi satırı okumak için de kullanılabilir. Çok eksenli indeksleme yöntemini kullanıyoruz..loc()bu amaç için. Bazı satırlar için maaş ve ad sütununu görüntülemeyi seçiyoruz.

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

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

Yukarıdaki kodu çalıştırdığımızda aşağıdaki sonucu verir.

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