Pandas秘籍 第一章

2021-08-11 05:29:15 字數 3200 閱讀 1485

原文:chapter 1

import pandas as pd

pd.set_option('display.mpl_style', 'default') # 使圖表漂亮一些

figsize(15, 5)

您可以使用read_csv函式從csv檔案讀取資料。 預設情況下,它假定欄位以逗號分隔。

我們將從蒙特婁(montréal)尋找一些騎自行車的資料。 這是原始頁面(法語),但它已經包含在此倉庫中。 我們使用的是 2012 年的資料。

這個資料集是乙個列表,蒙特婁的 7 個不同的自行車道上每天有多少人。

broken_df = pd.read_csv('../data/bikes.csv')

in [3]:

# 檢視前三行

broken_df[:3]

date;berri 1;br?beuf (donn?es non disponibles);c?te-sainte-catherine;maisonneuve 1;maisonneuve 2;du parc;pierre-dupuy;rachel1;st-urbain (donn?es non disponibles)01

2 你可以看到這完全損壞了。read_csv擁有一堆選項能夠讓我們修復它,在這裡我們:

fixed_df = pd.read_csv('../data/bikes.csv', sep=';', encoding='latin1', parse_dates=['date'], dayfirst=true, index_col='date')

fixed_df[:3]

berri 1

brébeuf (données non disponibles)

c?te-sainte-catherine

maisonneuve 1

maisonneuve 2

du parc

pierre-dupuy

rachel1

st-urbain (données non disponibles)

date

2012-01-01

35nan038

5126

1016

2012-01-02

83nan168

15353643

2012-01-03

135nan

2104

24889358

當你讀取 csv 時,你會得到一種稱為dataframe的物件,它由行和列組成。 您從資料框架中獲取列的方式與從字典中獲取元素的方式相同。

這裡有乙個例子:

fixed_df['berri 1']
date

2012-01-01

352012-01-02

832012-01-03

1352012-01-04

1442012-01-05

1972012-01-06

1462012-01-07

982012-01-08

952012-01-09

2442012-01-10

3972012-01-11

2732012-01-12

1572012-01-13

752012-01-14

322012-01-15

54...

2012-10-22

3650

2012-10-23

4177

2012-10-24

3744

2012-10-25

3735

2012-10-26

4290

2012-10-27

1857

2012-10-28

1310

2012-10-29

2919

2012-10-30

2887

2012-10-31

2634

2012-11-01

2405

2012-11-02

1582

2012-11-03

8442012-11-04

9662012-11-05

2247

name: berri 1, length: 310, dtype: int64

只需要在末尾新增.plot(),再容易不過了。

我們可以看到,沒有什麼意外,一月、二月和三月沒有什麼人騎自行車。

我們也可以很容易地繪製所有的列。 我們會讓它更大一點。 你可以看到它擠在一起,但所有的自行車道基本表現相同 - 如果對騎自行車的人來說是乙個糟糕的一天,任意地方都是糟糕的一天。

下面是我們的所有**,我們編寫它來繪製圖表:

第一章 Pandas概論

series 一維陣列,與numpy中的一維array類似。二者與python基本的資料結構list也很相近,其區別是 list中的元素可以是不同的資料型別,而array和series中則只允許儲存相同的資料型別,這樣可以更有效的使用記憶體,提高運算效率。time series 以時間為索引的ser...

python第一章筆記 第一章 基礎

參與除法的兩個數中有乙個數為浮點數,結果也為浮點數 如 1.0 2,1 2.0,1.0 2.0 python print 1.0 2 結果 0.5 print 1 2.0 結果 0.5 print 1.0 2.0 結果 0.5 整數 整數,計算結果的小數部分被截除,只保留整數部分 不會四捨五入 如 ...

第一章 緒論

1.16 void print descending int x,int y,int z 按從大到小順序輸出三個數 print descending 1.17 status fib int k,int m,int f 求k階斐波那契序列的第m項的值f gender char schoolname 校...