国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

8個Python高效數據分析的技巧

FullStackDeveloper / 2644人閱讀

摘要:以指定數目均勻分割區間。所以給定區間和,以及等分分割點數目,將返回一個數組。將一個函數應用于指定軸上的每一個元素。如果您熟悉,那么你也許聽說過數據透視表。內置的函數以的形式創建電子表格樣式的數據透視表,它可以幫助我們快速查看某幾列的數據。

一行代碼定義List

下面是使用For循環創建列表和用一行代碼創建列表的對比。

x = [1,2,3,4]
out = []
for item in x:
    out.append(item**2)
print(out)
[1, 4, 9, 16]
# vs.
x = [1,2,3,4]
out = [item**2 for item in x]
print(out)
[1, 4, 9, 16]
Lambda表達式

厭倦了定義用不了幾次的函數? Lambda表達式是你的救星! Lambda表達式用于在Python中創建小型,一次性和匿名函數對象。 它能替你創建一個函數。

lambda表達式的基本語法是:

lambda arguments: expression

請注意,只要有一個lambda表達式,就可以完成常規函數可以執行的任何操作。 你可以從下面的例子中,感受lambda表達式的強大功能:

double = lambda x: x * 2
print(double(5))
10
Map和Filter

一旦掌握了lambda表達式,學習將它們與Map和Filter函數配合使用,可以實現更為強大的功能。

具體來說,map通過對列表中每個元素執行某種操作并將其轉換為新列表。 在本例中,它遍歷每個元素并乘以2,構成新列表。 請注意,list()函數只是將輸出轉換為列表類型。

# Map
seq = [1, 2, 3, 4, 5]
result = list(map(lambda var: var*2, seq))
print(result)
[2, 4, 6, 8, 10]

Filter函數接受一個列表和一條規則,就像map一樣,但它通過比較每個元素和布爾過濾規則來返回原始列表的一個子集。

# Filter
seq = [1, 2, 3, 4, 5]
result = list(filter(lambda x: x > 2, seq))
print(result)
[3, 4, 5]
Arange和Linspace

Arange返回給定步長的等差列表。 它的三個參數start、stop、step分別表示起始值,結束值和步長, 請注意,stop點是一個“截止”值,因此它不會包含在數組輸出中。

# np.arange(start, stop, step)
np.arange(3, 7, 2)
array([3, 5])

Linspace和Arrange非常相似,但略有不同。 Linspace以指定數目均勻分割區間。 所以給定區間start和end,以及等分分割點數目num,linspace將返回一個NumPy數組。 這對繪圖時數據可視化和聲明坐標軸特別有用。

# np.linspace(start, stop, num)
np.linspace(2.0, 3.0, num=5)
array([ 2.0,  2.25,  2.5,  2.75, 3.0])
Axis代表什么?

在Pandas中,刪除一列或在NumPy矩陣中求和值時,可能會遇到Axis。 我們用刪除一列(行)的例子:

df.drop("Column A", axis=1)
df.drop("Row A", axis=0)

如果你想處理列,將Axis設置為1,如果你想要處理行,將其設置為0。 但為什么呢? 回想一下Pandas中的shape

df.shape
(# of Rows, # of Columns)

從Pandas DataFrame中調用shape屬性返回一個元組,第一個值代表行數,第二個值代表列數。如果你想在Python中對其進行索引,則行數下標為0,列數下標為1,這很像我們如何聲明軸值。

Concat,Merge和Join

如果您熟悉SQL,那么這些概念對您來說可能會更容易。 無論如何,這些函數本質上就是以特定方式組合DataFrame的方式。 在哪個時間跟蹤哪一個最適合使用可能很困難,所以讓我們回顧一下。

Concat允許用戶在表格下面或旁邊追加一個或多個DataFrame(取決于您如何定義軸)。

Merge將多個DataFrame合并指定主鍵(Key)相同的行。

Join,和Merge一樣,合并了兩個DataFrame。 但它不按某個指定的主鍵合并,而是根據相同的列名或行名合并。

Pandas Apply

Apply是為Pandas Series而設計的。如果你不太熟悉Series,可以將它想成類似Numpy的數組。
Apply將一個函數應用于指定軸上的每一個元素。 使用Apply,可以將DataFrame列(是一個Series)的值進行格式設置和操作,不用循環,非常有用!

df = pd.DataFrame([[4, 9],] * 3, columns=["A", "B"])
 df
   A  B
0  4  9
1  4  9
2  4  9

df.apply(np.sqrt)
     A    B
0  2.0  3.0
1  2.0  3.0
2  2.0  3.0

 df.apply(np.sum, axis=0)
A    12
B    27

df.apply(np.sum, axis=1)
0    13
1    13
2    13
Pivot Tables

最后是Pivot Tables。 如果您熟悉Microsoft Excel,那么你也許聽說過數據透視表。 Pandas內置的pivot_table函數以DataFrame的形式創建電子表格樣式的數據透視表,,它可以幫助我們快速查看某幾列的數據。 下面是幾個例子:非常智能地將數據按照“Manager”分了組

pd.pivot_table(df, index=["Manager", "Rep"])


或者也可以篩選屬性值

pd.pivot_table(df,index=["Manager","Rep"],values=["Price"])

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/42177.html

相關文章

  • 6Python性能優化技巧

    摘要:的批評者聲稱性能低效執行緩慢,但實際上并非如此嘗試以下個小技巧,可以加快應用程序。使用或者機器語言擴展包來執行關鍵任務能極大改善性能。但是如果你把求值的結果放入一個變量中,就能提高程序的性能。 Python是一門非常酷的語言,因為很少的Python代碼可以在短時間內做很多事情,并且,Python很容易就能支持多任務和多重處理。 Python的批評者聲稱Python性能低效、執行緩慢,...

    RobinQu 評論0 收藏0
  • 13VSCode使用技巧,開啟高效開發模式

    摘要:本文分享自華為云社區使用技巧使用技巧,作者小聰不是小蔥。是一款開源的編輯器,擁有強大的功能,。由于擁有各種各樣的插件,這就使得可以做到的事情更多了。在使用的過程中,也是有很多技巧的,掌握一些技巧對于后期寫代碼也會輕松很多。 摘要:VsCode是一款開源的編輯器,擁有強大的功能,。由于擁有各...

    PumpkinDylan 評論0 收藏0
  • 提高 Python 運行效率竅門

    摘要:使用或機器語言的外部功能包處理時間敏感任務,可以有效提高應用的運行效率。關鍵在于,優化循環方案是提高應用程序運行速度的上佳選擇。此外,關于交叉編譯是否為提高運行效率的最佳方法還存在討論的空間。在使用交叉編譯器時,記得確保它支持你所用的版本。 Python 是一門優秀的語言,它能讓你在短時間內通過極少量代碼就能完成許多操作。不僅如此,它還輕松支持多任務處理,比如多進程。 不喜歡 Pyt...

    huhud 評論0 收藏0
  • 由 sort 中 key 用法淺談 python

    摘要:但是實際寫程序中,我們經常會寫出許多繁雜的丑陋的代碼。特別推薦,許多代碼讓我獲益匪淺,比如這里對的使用。用可以寫出很簡單直觀的代碼,如下當然,上面不考慮效率,這里有一個利用分治法思想的高效的方法。更多文章更多閱讀中參數的用法高級編程技巧 用 Python 時間也算不短了,但總感覺自己在用寫 C++ 代碼的思維寫 Python,沒有真正用到其作為腳本語言的優勢。之前刷 LeetCode ...

    keke 評論0 收藏0
  • 【譯】Python優雅技巧

    摘要:你可以進行如下操作需要注意的是這個竅門只適用于。在中就不需要進行操作了,因為它已經默認進行了。這里有幾個例子可以供你參考譯文出處本文根據的所譯,整個譯文帶有我自己的理解與思想,如果譯得不好或有不對之處還請同行朋友指點。 枚舉 不要這么做: i = 0 for item in iterable: print i, item i += 1 而是這樣: for...

    legendaryedu 評論0 收藏0

發表評論

0條評論

FullStackDeveloper

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<