如何將多個一維列表轉化為二維列表_數據分析2_如何處理一維、二維數據

38b3830ac513e90e4d7626ab1403b75d.png
吞一塊大餅,還不如切成小塊吃得香

常見的數據集,要么是數列,要么是表格;

因此,數據分析最首要的是,處理一維、二維數據。

主要知識點可參考如圖。

8fd0ce7a4c81e879f863254e2fa38756.png

如需要,可點擊以下百度網盤鏈接下載數據分析基礎知識圖PDF:

mindmap2_數據分析基礎.pdf
308.7K
·
百度網盤

數據分析常用第三方包

  • Numpy
  • Pandas
  • Matplotlib
#導入numpy包
import numpy as np
#導入pandas包
import pandas as pd

1. 一維數據

  • Numpy(Numerical Python): Array
  • Pandas: Series

1.1 Numpy-Array

#定義:一維數組array
#參數:一個列表[2,3,4,5]
a = np.array([2,3,4,5])
#查詢
a[0]
2
#切片訪問:獲取指定序號范圍的元素
#a[1:3]獲取到的是序號從1到3的元素
a[1:3]
array([3, 4])
#切片訪問:反序
a[::-1]
array([5, 4, 3, 2])
#循環訪問
for i in range(len(a)):print(a[i])
2
3
4
5
#循環訪問
for i in a:  # 獲取a數組里面的數據,從i=2開始print(a[i-2])
2
3
4
5
#循環訪問
for i in a:print(i)
2
3
4
5
#查看數據類型
a.dtype
dtype('int32')
#統計計算:平均值
a.mean()
3.5
#統計計算:標準差
a.std()
1.118033988749895
#向量化計算:向量相加
b=np.array([1,2,3])
c=np.array([4,5,6])
b+c
array([5, 7, 9])
#向量化計算:乘以標量
d=b*4
d
array([ 4,  8, 12])

區別:Numpy數組&Python列表

  • 1.處理多維數組
    • ndArray
    • list嵌套
  • 2.存儲、運算效率
    • Array > list
  • 3.元素數據類型
    • Array:必須相同
    • List:可不同

1.2 Pandas-Series

#定義:一維數據結構:Series,index為索引
#存放6家公司某一天的股價(單位是美元)
stockS=pd.Series([54.74,190.9,173.14,1050.3,181.86,1139.49],index=['騰訊','阿里巴巴','蘋果','谷歌','Facebook','亞馬遜'])
stockS

37e991fd9cb3e6244afee8295292dab5.png
#獲取描述統計信息
stockS.describe()

fe0afe8a4a70a89fb32d1ca7b5e31625.png

統計信息含義如下

  • 數據條數count
  • 平均值mean
  • 標準差std
  • 最小值min下四位數25%
  • 中位數50%
  • 上四位數75%
  • 最大值max
#訪問:iloc屬性用于根據下標獲取值
stockS.iloc[0]
54.74
#訪問:loc屬性用于根據索引獲取值
stockS.loc['騰訊']
54.74
#向量化運算:向量相加
s1=pd.Series([1,2,3,4],index=['a','b','c','d'])
s2=pd.Series([10,20,30,40],index=['a','b','e','f'])
s3=s1+s2
s3

41a22cfb44ef331fa5bada70551ee422.png
#處理空值的方法
#方法1:刪除
s3.dropna()

87e8447f206216496de9645019685ef1.png
#方法2:填充
s3=s1.add(s2,fill_value=0)
s3

2ab02a3cda8327af318ed046f8b928eb.png

2.二維數據

  • Numpy: Array
  • Pandas: DataFrame
  • DataFrame處理表格數據比較方便

2.1 Numpy-Array

#定義二維數組
a=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]
])
#訪問:獲取元素
#行號0,列號2
a[0,2]
3
#訪問:整行
#獲取第1行
a[0,:]
array([1, 2, 3, 4])
#訪問:整列
#獲取第1列
a[:, 0]
array([1, 5, 9])
#數軸參數 axis
#axis=0,down,縱向處理
#axis=1,across,橫向處理#所有平均值
print(a.mean())#每行平均值,即每一行取所有列的平均值
print(a.mean(axis=1))#刪除某一列,即列(集)沿著水平的方向依次刪掉
#a.drop(colNames,axis=1)6.5
[ 2.5  6.5 10.5]

492274e7a9df8937c62f2b47bc4b036b.png

2.2 Pandas-DataFrame

#定義
#第1步:定義一個字典,映射列名與對應列的值
#現Python3的字典對象為有序
salesDict={'購藥時間':['2018-01-01 星期五','2018-01-02 星期六','2018-01-06 星期三'],'社保卡號':['001616528','001616528','0012602828'],'商品編碼':[236701,236701,236701],'商品名稱':['強力VC銀翹片','清熱解毒口服液','感康'],'銷售數量':[6,1,2],'應收金額':[82.8,28,16.8],'實收金額':[69,24.64,15]
}#第2步:定義數據框DataFrame
salesDf=pd.DataFrame(salesDict)
salesDf

d3dcdc930cb827a8cdd443ec7aa88372.png
#平均值:是按每列來求平均值
salesDf.mean()

ca70f9e3eb769b1c83efb9ba37ad763e.png
#訪問:iloc屬性用于根據下標獲取值
#查詢第1行第2列的元素
salesDf.iloc[0,1]
'001616528'
#獲取第1行,:代表所有列
salesDf.iloc[0,:]

4ee731dbd63a6001a6d947291ba8e527.png
#獲取第1列,:代表所有行
salesDf.iloc[:,0]

0b5d4a0865420c218b70cc158d4fb630.png
#訪問:loc屬性用于根據索引名獲取值
#查詢第1行商品編碼列的元素
salesDf.loc[0,'商品編碼']
236701
#獲取“商品名稱”這一列
#salesDf.loc[:,'商品名稱']
salesDf['商品名稱']  #簡單方法

d89f6f1cb3b4663da503296a6fa5644f.png

3.查詢操作

3.1 查詢列

#指定列
#通過列表來選擇某幾列的數據
salesDf[['商品名稱','銷售數量']]

436f46d238529d7249b5b9b5fec6a796.png
#指定連續的列
#通過切片功能,獲取指定范圍的列
salesDf.loc[:,'購藥時間':'銷售數量']

39147a0c69e893f3963cf4bbdefd5a33.png

3.2 條件篩選

#第1步:構建查詢條件,對象是Series,數據元素是bool
querySer=salesDf.loc[:,'銷售數量']>1
type(querySer)
pandas.core.series.Series
querySer

ec96d198a460e11e904f1b122c60ba60.png
#第2步:應用查詢條件
#只能指定列
#Error:salesDf.loc[:,querySer]
salesDf.loc[querySer]

4d1a25cd5bf19c6fd4c4af3fa399e306.png
salesDf.loc[querySer,'商品編碼':'銷售數量']

41a6584367694f7e0b4a9eca1f727149.png
#多個條件刪選
querySer1=salesDf.loc[:,'商品名稱']!='感康'
salesDf.loc[querySer1&querySer]

e185dfaf5b86276b1e6e737aebbbd0ec.png

上一章:

Queenie:數據分析1_入門Python?zhuanlan.zhihu.com
c041e34d8bd936c44e547d2f9b355d1c.png

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

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

相關文章

關于java中鎖的面試題_Java面試題-Java中的鎖

1. 如何實現樂觀鎖(CAS)?如何避免ABA問題?答:1)讀取內存值的方式實現了樂觀鎖(比如:SVN系統),方法:第一,比較內存值和期望值;第二,替換內存值為要替換值。2)帶參數版本來…

NSUserDefaults

2019獨角獸企業重金招聘Python工程師標準>>> NSUserDefaults 轉載于:https://my.oschina.net/18829297883/blog/737931

什么是算術運算和邏輯運算_8086微處理器的算術和邏輯運算

什么是算術運算和邏輯運算邏輯指令 (Logical Instructions) a) AND: Logical AND a)AND:邏輯AND Atleast one of the operant should be a register or a memory operant both the operant cannot be a memory location or immediate operant. 操作中的至少一個應該…

python文件讀寫用到的庫_Python使用pyshp庫讀取shapefile信息的方法

通過pyshp庫,可以讀寫shapefile文件,查詢相關信息,github地址為 import shapefile # 使用pyshp庫 file shapefile.reader("data\\市界.shp") shapes file.shapes() # print(file.shapetype) # 輸出shp類型null 0 point 1 poly…

h5引入json_Vue中如何使用本地Json文件?

我需要將菜單配置成Json文件,然后再程序中引入{{menu.name}}import menuListConfig from ../../config/menu.jsonexport default {name: "Sider",data(){return {menuList:JSON.parse(JSON.stringify(menuListConfig))}}}需要如何做,才能v-for…

深入學習jQuery選擇器系列第四篇——過濾選擇器之屬性選擇器

前面的話 屬性過濾選擇器的過濾規則是通過元素的屬性來獲取相應的元素,對應于CSS中的屬性選擇器。屬性過濾選擇器可分為簡單屬性選擇器、具體屬性選擇器和條件屬性選擇器三種。本文將詳細該部分內容 簡單屬性選擇器 [attribute] [attribute]選擇器選擇擁有該屬性的元…

c++ scanf讀取_使用scanf()讀取內存地址并在C中打印其值

c scanf讀取Here, we have to input a valid memory address and print the value stored at memory address in C. 在這里,我們必須輸入一個有效的內存地址并在C中打印存儲在內存地址中的值。 To input and print a memory address, we use "%p" format…

python正則匹配_Python正則表達式只匹配一次

我正在嘗試創建一個簡單的降價乳膠轉換器,只是為了學習 python和基本的正則表達式,但我不知道試圖弄清楚為什么下面的代碼不起作用: re.sub (r\[\*\](.*?)\[\*\]: ?(.*?)$, r\\footnote{\2}\1, s, flagsre.MULTILINE|re.DOTALL) 我想轉換像: s "…

Virtual Network (1) - How to use it in a guest

本文將講述一個問題:kvm guest使用libvirt xml定義如何使用virtual network?1)nat, route ,isolated, open類型在host中定義virtual network會創建一個虛擬的bridge,相當于一個交換機。guest只需要連接到這…

java string做除法_如果用java來實現傳統方式的除法,用String來保存結果,想精確多少位都行,那改怎么做?...

我會加分的,提個思路都行,目前做了個乘法和加法,但是現在對除法沒有什么思路。以下是我編寫的功能:publicclassCalculator{publicstaticStringmulti(Strings1,Strings2){if(s1nu...我會加分的,提個思路都行&#xff0c…

c語言數組的聲明和初始化_C聲明和初始化能力問題和解答

c語言數組的聲明和初始化This section contains aptitude questions and answers on C language Declarations and Initialization. 本節包含有關C語言聲明和初始化的適切性問題和解答。 1) What will be the output of following program ? int main(){int m10;int xprintf(…

python2和python3的默認編碼_python2和python3哪個版本新

Python2 還是 Python3 ? py2.7是2.x系列的最后一個版本,已經停止開發,不再增加新功能。2020年終止支持。 所有的最新的標準庫的更新改進,只會在3.x的版本里出現。Python3.0在2008年就發布出來,而2.7作為2.X的最終版本并…

html-css樣式表

一、CSS:Cascading Style Sheet—層疊樣式表,其作用是美化HTML網頁。 樣式表分類:內聯樣式表、內嵌樣式表、外部樣式表 1、內聯樣式表 和HTML聯合顯示,控制精確,但是可重用性差,冗余多。 例如:&…

java 棧 先進后出_棧先進后出,堆先進先出

1.棧(stack)與堆(heap)都是Java用來在Ram中存放數據的地方。與C不同,Java自動管理棧和堆,程序員不能直接地設置棧或堆。2.棧的優勢是,存取速度比堆要快,僅次于直接位于CPU中的寄存器。但缺點是,存在棧中的數據大小與生…

c#給定二維數組按升序排序_在數組中按升序對數字進行排序| 8086微處理器

c#給定二維數組按升序排序Problem: Write a program in 8086 microprocessor to sort numbers in ascending order in an array of n numbers, where size n is stored at memory address 2000 : 500 and the numbers are stored from memory address 2000 : 501. 問題&#xf…

使用python套用excel模板_Python自動化辦公Excel-從表中批量復制粘貼數據到新表

1、模塊安裝 1)cmd模式下: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xlrd pip install -i https://pypi.tuna.tsinghua.edu.cn/simple openpyxl 2)如果有安裝Pycharm,則在程序中操作如下: 菜單欄&…

在HubSpot是如何應對Fat JAR困境的

在七月底,Spring Boot和Dropwizard分別發布了1.4和1.0版本,它們都是基于Fat JAR的。隨著人們更多地采用這些框架和微服務架構,Fat JAR成為了通用的部署機制。\\Fat JAR技術會將Java應用的所有依賴打包到一個bundle之中,便于執行&a…

給定數字的b+樹創建_在C ++中找到給定數字中的兩個的下一個和上一個冪

給定數字的b樹創建Problem statement: 問題陳述: Find Next and previous power of two of a given number 查找給定數字中兩個的下一個和上一個冪 Next power of two 下一個二的冪 Example(1):input: 22output: 32 ( as 32 is 2^5)Example(2):input: 54output…

java 字節數組作用_這段java代碼中字節數組b起到了什么作用?

importjava.io.*;importjavax.swing.*;publicclassIOMonitor{publicstaticvoidmain(String[]temp){//TODO自動生成的方法存根byteb[]newbyte[2];try{FileInputStreamfisnewFileInput...import java.io.*;import javax.swing.*;public class IOMonitor {public static void main…

如何查看本地的崩潰log_過年回家,還怕搶不到票?程序員教你如何搶票

2019年接近尾聲,距離春節回家的日子越來越近,26日起,2020年除夕火車票正式開售,搶票大戰也進入白熱化階段。是否為某搶票 App 加速而煩惱,是否為車票“秒光而煩惱”。別慌,作為連“對象”都是 new 出來的程…