Pandas語法真的很亂嗎?

要說Python里使用最多的第三方庫,我提名貓熊估計十拿九穩,本身為了處理金融數據才開發出的Pandas,變成了Python中最受歡迎的數據處理工具,堪比編程中的Excel。

現在Pandas已經更新到2.3.3版本,可以穩定支持Apache Arrow數據類型,你會發現pandas的功能越來越多,所以有人吐槽pandas在使用時語法感覺很亂。

Pandas確實因為方法函數眾多,光讀取數據read()方式就有十幾種,而且同一個數據處理場景同時有好幾個方法可實現,比如拼接函數merge()和join(),導致使用起來有雜亂的感覺,特別是對於初學者,這種感覺尤為強烈。

Pandas語法真的很亂嗎? -

Pandas語法複雜不是設計層面有問題,主要是因為它要做的事太多了,你可以把Pandas看作代碼界的Excel,都是處理行列數據的工具,Excel的按鈕組件不計其數,比如格式、轉化、插入、透視等。

Pandas其實也需要處理同樣多的事情,Excel的每一個按鈕都對應Pandas的一個函數或方法,所以複雜度可見一斑。

其次Pandas還要兼顧面向對象和函數式兩種編程風格,比如df.join()是面向對象風格,而pd.merge()則是函數式風格,雖然功能接近,但必須要這樣設計。

因為面向對象是Python語言的核心理念,而函數式風格又能簡化pandas處理數據的流程,所以Pandas的API就格外的多了。

說了Pandas之所以亂的原因,相比你能理解這其中的不得已了。

想用好Pandas,其實也沒那麼難,你只需要掌握它的核心結構就可以,掌握了全貌就能有的放矢,遇到數據處理問題手到擒來。

Pandas有兩種數據結構,DataFrame和Series,一個是二維數組,一個是一維數組,DataFame類似於Excel表格,有行和列,這是用的最多的數據形式。

隨之而來的是這兩種數據結構有各種各樣的方法和屬性,用來處理數據,比如apply、join等。

在這兩種數據結構的方法之外,Pandas又有頂級函數,方便直接處理數據,一般都是pd.xx形式調用,比如pd.merge()、pd.concat() 。

所以你會發現Pandas能處理的工作非常多,一定要找對方法,了解它的語法結構,就像Excel每個功能板塊一樣,一旦熟悉了就會發現pandas非常好用。

分享你的喜愛