Python Pandas - IO Araçları

Pandas I/O API gibi erişilen bir üst düzey okuyucu işlevleri kümesidir. pd.read_csv() genellikle bir Pandas nesnesi döndürür.

Metin dosyalarını (veya düz dosyaları) okumak için iki iş gücü işlevi read_csv() ve read_table(). Her ikisi de tablo verilerini akıllıca birDataFrame nesne -

pandas.read_csv(filepath_or_buffer, sep=',', delimiter=None, header='infer',
names=None, index_col=None, usecols=None
pandas.read_csv(filepath_or_buffer, sep='\t', delimiter=None, header='infer',
names=None, index_col=None, usecols=None

İşte nasıl csv dosya verileri şöyle görünür -

S.No,Name,Age,City,Salary
1,Tom,28,Toronto,20000
2,Lee,32,HongKong,3000
3,Steven,43,Bay Area,8300
4,Ram,38,Hyderabad,3900

Bu verileri farklı kaydedin temp.csv ve üzerinde işlem yapmak.

S.No,Name,Age,City,Salary
1,Tom,28,Toronto,20000
2,Lee,32,HongKong,3000
3,Steven,43,Bay Area,8300
4,Ram,38,Hyderabad,3900

Bu verileri farklı kaydedin temp.csv ve üzerinde işlem yapmak.

read.csv

read.csv csv dosyalarındaki verileri okur ve bir DataFrame nesnesi oluşturur.

import pandas as pd

df=pd.read_csv("temp.csv")
print df

Onun output aşağıdaki gibidir -

S.No     Name   Age       City   Salary
0     1      Tom    28    Toronto    20000
1     2      Lee    32   HongKong     3000
2     3   Steven    43   Bay Area     8300
3     4      Ram    38  Hyderabad     3900

özel dizin

Bu, csv dosyasında dizini özelleştirmek için bir sütun belirtir. index_col.

import pandas as pd

df=pd.read_csv("temp.csv",index_col=['S.No'])
print df

Onun output aşağıdaki gibidir -

S.No   Name   Age       City   Salary
1       Tom    28    Toronto    20000
2       Lee    32   HongKong     3000
3    Steven    43   Bay Area     8300
4       Ram    38  Hyderabad     3900

Dönüştürücüler

dtype sütunların sayısı bir dikt olarak aktarılabilir.

import pandas as pd

df = pd.read_csv("temp.csv", dtype={'Salary': np.float64})
print df.dtypes

Onun output aşağıdaki gibidir -

S.No       int64
Name      object
Age        int64
City      object
Salary   float64
dtype: object

Varsayılan olarak, dtype Maaş sütununun int, ancak sonuç bunu gösteriyor float çünkü türü açıkça belirledik.

Böylece, veriler float gibi görünür -

S.No   Name   Age      City    Salary
0   1     Tom   28    Toronto   20000.0
1   2     Lee   32   HongKong    3000.0
2   3  Steven   43   Bay Area    8300.0
3   4     Ram   38  Hyderabad    3900.0

header_names

Names argümanını kullanarak başlığın adlarını belirtin.

import pandas as pd
 
df=pd.read_csv("temp.csv", names=['a', 'b', 'c','d','e'])
print df

Onun output aşağıdaki gibidir -

a        b    c           d        e
0   S.No     Name   Age       City   Salary
1      1      Tom   28     Toronto    20000
2      2      Lee   32    HongKong     3000
3      3   Steven   43    Bay Area     8300
4      4      Ram   38   Hyderabad     3900

Dikkat edin, başlık adlarına özel adlar eklenir, ancak dosyadaki başlık kaldırılmamıştır. Şimdi, bunu kaldırmak için başlık argümanını kullanıyoruz.

Başlık birinciden farklı bir satırdaysa, satır numarasını başlığa iletin. Bu, önceki satırları atlayacaktır.

import pandas as pd 

df=pd.read_csv("temp.csv",names=['a','b','c','d','e'],header=0)
print df

Onun output aşağıdaki gibidir -

a        b    c           d        e
0  S.No     Name   Age       City   Salary
1     1      Tom   28     Toronto    20000
2     2      Lee   32    HongKong     3000
3     3   Steven   43    Bay Area     8300
4     4      Ram   38   Hyderabad     3900

satır atlamak

skiprows, belirtilen satır sayısını atlar.

import pandas as pd

df=pd.read_csv("temp.csv", skiprows=2)
print df

Onun output aşağıdaki gibidir -

2      Lee   32    HongKong   3000
0   3   Steven   43    Bay Area   8300
1   4      Ram   38   Hyderabad   3900