Python Pandas - Alat IO

Itu Pandas I/O API adalah sekumpulan fungsi pembaca tingkat atas yang diakses seperti pd.read_csv() yang biasanya mengembalikan objek Pandas.

Dua fungsi pekerja keras untuk membaca file teks (atau file datar) adalah read_csv() dan read_table(). Keduanya menggunakan kode parsing yang sama untuk secara cerdas mengubah data tabular menjadi fileDataFrame objek -

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

Begini caranya csv data file terlihat seperti -

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

Simpan data ini sebagai temp.csv dan melakukan operasi di atasnya.

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

Simpan data ini sebagai temp.csv dan melakukan operasi di atasnya.

read.csv

read.csv membaca data dari file csv dan membuat objek DataFrame.

import pandas as pd

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

Nya output adalah sebagai berikut -

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

indeks khusus

Ini menentukan kolom di file csv untuk menyesuaikan indeks menggunakan index_col.

import pandas as pd

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

Nya output adalah sebagai berikut -

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

Pengonversi

dtype kolom dapat dilewatkan sebagai dikt.

import pandas as pd

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

Nya output adalah sebagai berikut -

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

Secara default, file dtype dari kolom Gaji adalah int, tetapi hasilnya menunjukkan sebagai float karena kami telah secara eksplisit memasukkan tipe tersebut.

Jadi, datanya terlihat seperti float -

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

Tentukan nama header menggunakan argumen nama.

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

Nya output adalah sebagai berikut -

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

Perhatikan, nama header ditambahkan dengan nama kustom, tetapi header dalam file belum dihilangkan. Sekarang, kami menggunakan argumen header untuk menghapusnya.

Jika header berada di baris selain yang pertama, teruskan nomor baris ke header. Ini akan melewati baris sebelumnya.

import pandas as pd 

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

Nya output adalah sebagai berikut -

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

orang melompat

skiprows melewatkan jumlah baris yang ditentukan.

import pandas as pd

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

Nya output adalah sebagai berikut -

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