Python Pandas - narzędzia IO
Plik Pandas I/O API to zestaw funkcji czytnika najwyższego poziomu, do których można uzyskać dostęp, np pd.read_csv() które zazwyczaj zwracają obiekt Pandas.
Dwie funkcje konia roboczego do czytania plików tekstowych (lub plików płaskich) to read_csv() i read_table(). Obaj używają tego samego kodu analizującego, aby inteligentnie konwertować dane tabelaryczne na plikDataFrame obiekt -
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
Oto jak csv dane pliku wyglądają następująco -
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
Zapisz te dane jako temp.csv i przeprowadzać na nim operacje.
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
Zapisz te dane jako temp.csv i przeprowadzać na nim operacje.
read.csv
read.csv odczytuje dane z plików csv i tworzy obiekt DataFrame.
import pandas as pd
df=pd.read_csv("temp.csv")
print df
Jego output wygląda następująco -
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 niestandardowy
Określa kolumnę w pliku csv, aby dostosować indeks przy użyciu index_col.
import pandas as pd
df=pd.read_csv("temp.csv",index_col=['S.No'])
print df
Jego output wygląda następująco -
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
Konwertery
dtype kolumn można przekazać jako dykt.
import pandas as pd
df = pd.read_csv("temp.csv", dtype={'Salary': np.float64})
print df.dtypes
Jego output wygląda następująco -
S.No int64
Name object
Age int64
City object
Salary float64
dtype: object
Domyślnie dtype w kolumnie Wynagrodzenie to int, ale wynik pokazuje to jako float ponieważ jawnie wyrzuciliśmy typ.
W ten sposób dane wyglądają jak zmiennoprzecinkowe -
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
nazwy_nagłówków
Określ nazwy nagłówka, używając argumentu nazw.
import pandas as pd
df=pd.read_csv("temp.csv", names=['a', 'b', 'c','d','e'])
print df
Jego output wygląda następująco -
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
Zauważ, że nazwy nagłówków są dołączane do nazw niestandardowych, ale nagłówek w pliku nie został wyeliminowany. Teraz używamy argumentu nagłówka, aby to usunąć.
Jeśli nagłówek znajduje się w wierszu innym niż pierwszy, przekaż numer wiersza do nagłówka. Spowoduje to pominięcie poprzednich wierszy.
import pandas as pd
df=pd.read_csv("temp.csv",names=['a','b','c','d','e'],header=0)
print df
Jego output wygląda następująco -
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
skiprows
skiprows pomija określoną liczbę wierszy.
import pandas as pd
df=pd.read_csv("temp.csv", skiprows=2)
print df
Jego output wygląda następująco -
2 Lee 32 HongKong 3000
0 3 Steven 43 Bay Area 8300
1 4 Ram 38 Hyderabad 3900