數據分析之pandas筆記

Pandas

一個用于表示表格類型的內容

  • 課時4:jupyter21 分22 秒
  • 課時5:pandas的內容24 分31 秒
  • 課時6:series內容38 分19 秒
  • 課時7:dataframe25 分50 秒
# 載入pandas庫
import pandas as pd
import numpy as np
s = pd.Series([2,4,6,8,10])
s
0     2
1     4
2     6
3     8
4    10
dtype: int64
d = pd.DataFrame([[2,4,6,8,10],[7,3,4,7,15],
])d
01234
0246810
1734715
d[0]
0    2
1    7
Name: 0, dtype: int64

這里要注意直接用中括號獲取的是,列,因為比如我們要獲取一個表中的age屬性,通常的拿這age一列的數據出來,所以想要獲取一條數據,需要再中括號一下

獲取一行怎么獲取

d.loc[0]
0     2
1     4
2     6
3     8
4    10
Name: 0, dtype: int64

這個給我們返回的是一個series
實際上這個dataframe是由多個series組成的
所以我們可以這么寫

d2 = pd.DataFrame([pd.Series([2,4,6,8,10]),pd.Series([7,3,4,7,15]),
])
d2
01234
0246810
1734715
class1 = pd.Series({'hong': 50, 'huang': 90, 'qing': 60})# 修改字典索引
class1_values = {'hong': 50, 'huang': 90, 'qing': 60}
class1_index = ['hong', 'lv', 'lan']
# 這個地方的鍵是根據index參數設置的,然后前面的那個字典的鍵就不要了
class1 = pd.Series(class1_values, index=class1_index)
class1
hong    50.0
lv       NaN
lan      NaN
dtype: float64
class1# 值數據,輸出類型為array,還是ndarray數組
class1.values# 索引,輸出index類型(Pandas獨有的索引類型),本質上就是ndarray
class1.indexclass1.index[2]
class1.index.values
array(['hong', 'lv', 'lan'], dtype=object)
class1_index
class1.hong
50.0
class1[[1,2,0]]
lv       NaN
lan      NaN
hong    50.0
dtype: float64
class1[0:1]
hong    50.0
dtype: float64
# 直接就能記性判斷
class1 > 6
# 這個Nan值你怎么判斷都是False
hong     True
lv      False
lan     False
dtype: bool
# 還能這樣寫
# 這種寫法很類似于數據庫的寫法
class1[class1>6]
hong    50.0
dtype: float64
# 直接就全都加一
class1+1
hong    51.0
lv       NaN
lan      NaN
dtype: float64
  • 這種整體的加一,他是效率非常非常高的
  • 如果是我們的列表,想要實現這個效果,那就得循環這個列表
    從列表中獲取一個數據,把這個數據+1,放到新的列表中
  • 而我們這個是將三條數據同時拿出來(就像并發一樣),然后同時進行+1操作
    然后在同時放到一個新的里面.
  • 我們可以通過那個運算時間的魔術命令來幫忙驗證一下
%%timeit
# 修改字典索引
class2_values = [1024,3,5,7,9,10,13,115,127,149,221]
# 這個地方的鍵是根據index參數設置的,然后前面的那個字典的鍵就不要了
class2 = pd.Series(class2_values)
class2+1
198 μs ± 9.37 μs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
%%timeit
class2+1
100 μs ± 3.56 μs per loop (mean ± std. dev. of 7 runs, 10000 loops each)
%%timeit
for i in range(100000):i+=1
4.12 ms ± 108 μs per loop (mean ± std. dev. of 7 runs, 100 loops each)
%%timeit
a = pd.Series(range(100000))
a+1
562 μs ± 72 μs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

我猜可能是因為這個數據量不夠大,還顯示不出來這個庫的優勢,所以得多試試才行
有的時候需要用GPU來計算,如果用CPU,會非常耗CPU,因為GPU更擅長這種小量的計算,他就相當于一堆小學生,這中加減乘除,小學生比CPU數學家更厲害

# 不僅能夠進行加,減號,還能乘除,取余,底板除
print(class2 // 2) 
11.0
11.0
class2 = pd.Series([1024,3,5,7,9,10,13,115,127,149,221])
# 平均數
print(class2.mean())
print(np.mean(class2))
class2
153.0
153.00     1024
1        3
2        5
3        7
4        9
5       10
6       13
7      115
8      127
9      149
10     221
dtype: int64
class3 = pd.Series([1024,13,5,7,9,10,1,115,127,149,221])
# 中位數
# 通過庫中的函數調用
print(np.median(class3))
# 自身屬性調用寫法
print(class3.median())
# 中位數如果有兩個數據,那就是這兩個數據的平均數
13.0
13.0
# 方差
class2.var()
89190.6
# 標準差
class2.std()
298.6479532827908
print(class2)
print("-"*50)
print(class2+1)
print("-"*50)
# 全判斷在不在容器中
# 這個容器包括類似于字典的鍵和值,都都算上,只有有都行,都算存在啊
print(10 in class2)
print("-"*50)
print(5 in class2 + 1)
# 浮點數運算不準的問題
0     1024
1        3
2        5
3        7
4        9
5       10
6       13
7      115
8      127
9      149
10     221
dtype: int64
--------------------------------------------------
0     1025
1        4
2        6
3        8
4       10
5       11
6       14
7      116
8      128
9      150
10     222
dtype: int64
--------------------------------------------------
True
--------------------------------------------------
True
# 然后問我們可以取出來values
print(4 in class2) 
print(4 in class2.values)
True
False
# values值修改
class2['ming'] = 0
class2['hua'] = 0
class2['hong'] = 0class2[['hua','hong']] = 55
class2[['hua','hong']] = [35, 55]
class2['hua','hong'] = [1, 2]  # 一層也可以
class2
0       1024
1          3
2          5
3          7
4          9
5         10
6         13
7        115
8        127
9        149
10       221
ming       0
hua        1
hong       2
dtype: int64
# 深拷貝
class4 = class2.copy()
class4 = class4+1
print(class2)
class4
0       1024
1          3
2          5
3          7
4          9
5         10
6         13
7        115
8        127
9        149
10       221
ming       0
hua        1
hong       2
dtype: int640       1025
1          4
2          6
3          8
4         10
5         11
6         14
7        116
8        128
9        150
10       222
ming       1
hua        2
hong       3
dtype: int64
# 索引也可以單獨的進行修改
class2.index = [22,23,24,28,24,29,1,2,3,4,8,5,9,21]
class2
22    1024
23       3
24       5
28       7
24       9
29      10
1       13
2      115
3      127
4      149
8      221
5        0
9        1
21       2
dtype: int64
# 這個csv路徑不能有中文,否則獲取失敗
df = pd.read_csv("./source/test.csv")
df
roc1c2c3c4c5c6c7c8c9c10c11c12c13c14c15c16c17c18
0a0510101010101010101010101010101010
1b1611111111111111111111111111111111
2c2712121212121212121212121212121212
3d3813131313131313131313131313131313
4e4914141414141414141414141414141414

csv中的數據都是用逗號隔開的,出自:
python:pandas——read_csv方法

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/455199.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/455199.shtml
英文地址,請注明出處:http://en.pswp.cn/news/455199.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Apache日志記錄組件Log4j出現反序列化漏洞 黑客可以執行任意代碼 所有2.x版本均受影響...

開源的東西用的人多了,自然漏洞就多。Apache用于日志記錄的組件Log4j使用非常靈活,在相當多的開源項目中都有使用,此次漏洞影響所有Apache Log4j 2.*系列版本: Apache Log4j 2.0-alpha1 – Apache Log4j 2.8.1,使用Jav…

react接收后端文件_React獲取Java后臺文件流并下載Excel文件流程解析

記錄使用blob對象接收java后臺文件流并下載為xlsx格式的詳細過程,關鍵部分代碼如下。首先在java后臺中設置response中的參數:public void exportExcel(HttpServletResponse response, String fileName, String sheetName,List titleRow, List> dataRo…

Python常見的170道面試題全解析答案

個人博客點這里 語言特性 1. 談談對 Python 和其他語言的區別 答:Python 是一門語法簡潔優美,功能強大無比,應用領域非常廣泛,具有強大完備的第三方庫,他是一門強類型的可移植、可擴展,可嵌入的解釋型編程語言,屬于動態語言。 …

WMA文件信息格式分析及代碼

WMA文件信息格式分析及代碼 收藏 ASF文件和WMA文件格式差不多。具體請看下面我寫的代碼。文件分析根據mplayer其中的asfhead.c提供的代碼進行分析。mplayer只解除出了標準的wma頭信息,其擴展信息并沒有解析出來。代碼如下. /*每一個WMA文件,它的頭16個字…

[No0000101]JavaScript-基礎課程1

JavaScript 是一種輕量級的編程語言,很容易學習,同時也是一種被廣泛用于客戶端Web開發的腳本語言。通過本課程學習,我們可以了解到JavaScript的基本語法知識,以及怎樣使用它去創建簡單的游戲和應用。 1.獲取字符的長度 "youN…

研究人員發現Office Word 0Day攻擊 這個漏洞繞過了word宏安全設置 綠盟科技、McAfee及FireEye發出警告...

這次的0Day漏洞確實很厲害,以往攻擊者誘使用戶點擊Word文檔,由于其中包含了惡意腳本,大多數需要用戶啟用了宏。但這次的漏洞不是,受害者無需啟用宏,也會中招,而且漏洞覆蓋Windows所有版本(包括W…

秀米svg點擊顯示另一張圖_SVG的雷,你踩過了沒?

原標題:SVG的雷,你踩過了沒?隨著SVG互動布局的出現和在H5的應用越來越多,不少小伙伴們會想在秀米里上傳自己制作的SVG圖形。秀米的首頁頂部教程收錄了一篇關于SVG圖形的講解:「秀米的SVG圖片」,里面主要介紹…

關于C10K問題詳解-突破單機性能是高性能網絡編程

本文轉自:https://www.jianshu.com/p/ba7fa25d3590 C10K問題由來 隨著互聯網的普及,應用的用戶群體幾何倍增長,此時服務器性能問題就出現。最初的服務器是基于進程/線程模型。新到來一個TCP連接,就需要分配一個進程。假如有C10K,…

數據中心傳輸需求成以太網市場巨大推動力

近日,市場研究機構Infonetics作出評估稱,數據中心以太網市場將迎來全面發展的勢頭,其驅動力則在于當前數據中心以太網絡交換接口由10Gbps產品向25Gbps乃至50Gbps標準的大規模升級。 根據對2014年第三季度的市場銷售情況研究,該公司…

Gina DLL

Windows的開機密碼認證模塊一般是由Gina DLL完成的。在NT/2000中交互式的登陸支持是由WinLogon調用GINA DLL實現的,GINA DLL提供了一個交互式的界面為用戶登陸提供認證請求。1.Gina原理WinLogon會和GINA DLL進行交互,缺省是MSGINA.DLL(在System32目錄下)…

ultilize什么意思_ultilize是什么意思

1. We also ultilize the supports of NSFC for other valuable researches.我們還利用基金支持,做了其他一些有價值的科研工作。2. Recover the second segment with all due haste, ultilize any means necessary.盡快取回第二部分,使用任何必要的手段…

HTML,CSS的class與id命名規則

個人博客點這里 最重要的部分先說(命名書寫格式) 常見的格式有:連接符(search-btn)、下劃線、全小(searchbox)、小駝峰(searchBox)。 現在用得多廣泛的還是第一種使用連接符,易讀…

主打“云安全” 迅雷系帝恩思登陸新三板

ZD至頂網安全頻道 06月14日 綜合消息: 6月14日上午,帝恩思(837018)敲響了登陸新三板的鐘聲。作為帝恩思的重要股東,迅雷(NASDAQ:XNET)CEO鄒勝龍與帝恩斯董事長王宇杰、總經理許淵培等人一同參加了這一儀式。 帝恩斯是一…

UESTC 1636 夢后樓臺高鎖,酒醒簾幕低垂

題意&#xff1a;求一條路徑&#xff0c;使得這條邊連接1到n&#xff0c;求邊權值的最大值與最小值的差 題解&#xff1a;最小生成樹&#xff0c;對邊權排序&#xff0c;可以枚舉邊的最大和最小的值&#xff0c;判斷能否使得1和n連通 #include <bits/stdc.h> #define ll …

wav文件格式分析詳解

wav文件格式分析詳解 作者&#xff1a;曹京日期&#xff1a;2006年7月17日 一、綜述 WAVE文件作為多媒體中使用的聲波文件格式之一&#xff0c;它是以RIFF格式為標準的。RIFF是英文Resource Interchange File Format的縮寫&#xff0c;每個WAVE文件的頭四個字節便是“RIFF…

pg數據庫開啟遠程連接_Postgresql開啟遠程訪問的步驟全紀錄

前言安裝PostgreSQL數據庫之后&#xff0c;默認是只接受本地訪問連接。如果想在其他主機上訪問PostgreSQL數據庫服務器&#xff0c;就需要進行相應的配置。下面話不多說了&#xff0c;來一起看看詳細的介紹吧。步驟如下&#xff1a;要在Postgresql中允許遠程訪問,需要設置如下2…

Vue.js前后端分離2

個人博客點這里 內容回顧 - 過濾器 - 局部的過濾器 // 只能在當前組件內部使用 filters:function(val,a,b){// 執行過濾處理邏輯,(添油加醋的內容)return xxx; }- 全局的過濾器 // 聲明創建 在任何組件中都能使用 Vue.filter("myTime",function() {// 添油加醋的…

WORD列表縮進的文本起始點

Figure 1 Figure 2 Figure 3 編號位置以刻度尺為起點0.74厘米&#xff08;2個字符間距&#xff09;&#xff0c;文本縮進以刻度尺為起點2.96厘米&#xff08;8個字符間距&#xff09; 以上兩者相減得到的值正好特殊格式懸掛縮進的值2.22厘米 Figure 4 上圖看到&#xff0c;文本…

無人車火了 百度是如何做到的?

ZD至頂網服務器頻道 03月02日 新聞消息&#xff08;文/于澤&#xff09;&#xff1a;百度無人車可謂狠狠的吸足了大眾的眼球。一個問題逐漸出現在我們心中&#xff0c;為什么百度這樣的互聯網企業會推出無人車&#xff0c;似乎搜索引擎和無人車之間的關聯度并不是很高。 謎題的…

測繪技術設計規定最新版_測繪技術設計規定

《》是中國測繪出版社出版圖書&#xff0c;下面小編給大家介紹關于的相關資料&#xff0c;希望對您有所幫助。《》內容國家測繪地理信息局法規與行業管理司編著的《(2014)》是一本關于測繪資質管理規定和測繪資質分級標準的書。具體內容包括&#xff1a;大地測量專業標準、測繪…