『壹』 python常見數據類型
一,python整數類型所表示的數據。
1,一般用以表示一類數值:所有正整數,0和負整數;
2,整型作為最常用的,頻繁參與計算的數據類型,在python3.5中解釋器會自動在內存中創建-5-3000之間的(包含5,不包含3000)整型對象,也就是說在該范圍內,相等都是同一個已經創建好的整型對象。范圍之外的即使相等也表示不同對象,該特性隨python版本而改變,不要過於依賴。
3,bool型繼承了int型,他是int的子類。
4,Python2中有長整型long,數值范圍更大,在python3中已取消,所有整型統一由int表示。
5,參與所有數值計算,數學運算,科學計算。這也是所有編程語言都有的數據類型,因為編程語言生而需要模擬人的思維,藉助數學方式,自動計算、更好的解決大量重復性的事務,因此數值類型、整數類型在編程語言中不可或缺。
6,支持二進制(0b\0B開頭),十進制,八進制(0o\0O),十六進制(0x\0X)
二,python整數和浮點型支持常規的數值運算
整數和浮點數都可參與的運算:+ - * / %(取余) //(整除) **(冪)
Python字元型:
python字元型表示的數據:
python3支持Unicode編碼,由字母、數字和符號組成的形式就叫字元串,更接近或者相同與人們文字元號表示,因此在信息表示和傳遞時它也是最受認可的形式。在程序編寫中也是非常常用,對應的可操作的方法也很多,很有意思。
字元串不可被修改,可以拼接等方法創建新字元串對象;
支持分片和下標操作;a[2:]
支持+拼接,*重復操作和成員關系in/not in;
表示形式:用單引號雙引號包含起來的符號;a = str(『sdfsdfsdf』) 或 r』\t\nabcd』 原始字元,Bytes:b』abcd』;
6,字元串屬於不可變數據類型,內部機制為了節省空間,相同的兩個字元串表示相同的一個對象。a = 『python』 b = 『python』 a is b :True
二, 字元串支持的運算方法
1,capitalize() :首字母大寫後邊的字母小寫 a = 『abcd』 b = a.capitalize() b:Abcd
2,casefold() lower():字母轉換為全小寫
3,center(width,fillchar) :居中,width填補的長度;fillchar添加的字元
a = a.center(10,』_』) //』____abcd____』 默認無fillchar填充空格
4,count(sub,star,end) :字母計數:sub要查詢的字元
5,encode(encoding=』utf-8』,errors=』strict』) 設置編碼
Errors :設置錯誤類型
6,endswith(suffix,star,end) : 若以suffix結尾返回True
7,expandtabs(8) :設置字元串中tab按鍵符的空格長度:』\tabcde』
8,find(sub,star,end) : 返回指定范圍內的字元串下標,未找到返回-1
9,index(sub,star,end) :返回指定范圍字元串下標未找到拋出異常
10,isalnum() :判斷字元串是否是字母或數字,或字母和數字組合
11,isalpha() :判斷是否全是字母
12,isdecimal() :判斷字元串是否是十進制數值
13,isdigit() :判斷字元串是否是數字
14,isidentifier() :判斷字元串中是否包含關鍵字
15,islower() :判斷是否全小寫
16,isnumeric() :判斷全是數字
17,isspace() :判斷是否是空格
18,isupper() 判斷是否大寫
19,istitle() :判斷是否首字母大寫
20,join(iterable) :把可迭代對象用字元串進行分割:a.join(『123』)
21,ljust(width,fillchar);rjust() :左對齊右對齊
22, upper() :將字元串改為大寫
23,split(sep=None,maxsplit=-1) :分割一個字元串,被選中字元在字元串中刪除
『ab1cd1efg』.split(『1』) :[『ab』,』cd』,』efg』]
三,字元串格式化:按照規格輸出字元串
format(*args,**kwargs) :args位置參數,kwargs關鍵字參數
『{0:.1f}』.format(123.468) :格式化參數,小數點後保留1位四捨五入
四,字元串操作符%
1,%s :格式化字元串 『abcd%sdef』%』dddd』
2,%d:格式化整數
3,%o格式化無符號八進制
4,%x格式化無符號十六進制
5,%f格式化定點數
6, %e: 科學計數法格式化定點數
7,%g 根據值大小自動選%f,%e
8, %G E X :大寫形式
五,格式化輔助命令:
m.n :m最小總寬度,n小數點後位數:』%12.4f』%23456.789
六,轉義字元:字元串前r避免轉義:r』\nhello\thi』
\n:換行符
\t:橫向製表符
\':'
\":"
\b:退格符
\r:回車
\v:縱向製表符
\f:換頁符
\o,\x:八進制和十六進制
\0:空字元串
Python列表list
一,Python的列表list類型表示的數據:
Python列表在cpython中被解釋為長度可變的數組,用其他對象組成的連續數組。
列表中元素可以是相同或不同的數據類型;
當列表元素增加或刪除時,列表對象自動進行擴展或收縮內存,保證元素之間沒有縫隙,總是連續的。
Python中的列表是一個序列,也是一個容器類型
創建列表:a = []; b = [1,』python』]; c = list(); d = list((1,3,4,5))
支持切片操作list[start,stop,step]
python列表常用方法
1,append添加單個元素:list.append(object); //a.append(『python』)
2,extend添加可迭代對象: list.extend(iterable); //a.extend(『abcde』/[1,2,3])
3,insert 插入元素:list.insert(index,object): 在index下標前插入元素//a.insert(2,』python』)
4,clear 清空所有元素:list.clear() //a.clear()
5,pop 刪除並返回一個元素:list.pop(index) //默認刪除默認一個元素
remove 刪除指定元素:list.remove(v) ,v元素不存在報錯 //a.remove(『c』)
7,count 返回這個值在列表中數量:list.count(value)
8, 淺拷貝一個新列表:list.()
9,sort:排序list.sort(reverse=False/True) :默認升序
排序函數:sorted(list)
10,reverse: 原地翻轉:list.reverse()
11,index(value,star,stop) :指定范圍內該值下標:list.index(2,0,5)
列表元素訪問:
下標訪問:list[1]
For循環遍歷
通過下標修改元素:list[2 ] = 『hello』
列表常用運算符:
1,比較運算符:從第一個元素開始對比
2,+ 拼接一個新列表:l1+ l2
3, 重復操作符:* ,多個列表拼接
成員關系操作符:in/ not in
邏輯運算符:and not or
列表常用的排序方法:
冒泡排序;選擇排序;快速排序;歸並排序
Python元組tuple
一,Python元組tuple數據類型表示的數據:
元組是受到限制的、不可改變的列表;
可以是同構也可以是異構;
元組是序列類型、是可迭代對象,是容器類型。
元組的創建: a = (1,2,3)或a=1,2,3; b = tuple(); c = tuple(iterable)
支持切片操作tuple[start,stop,step]
二,python元組常用方法
1,index(value,star,stop) :指定范圍內該值下標:tuple.index(2,0,5)
2,count(value) :值出現次數
三,支持運算:
1,比較運算符:從第一個元素開始對比
2,+ 拼接一個新元組:l1+ l2
3, 重復操作符:* ,多個元組拼接
4成員關系操作符:in/ not in
邏輯運算符:and not or
四,元組的訪問
下標操作;
For循環遍歷訪問。
Python字典類型
一,Python字典dict表示的數據:{key:value}
可根據關鍵字:鍵快速索引到對應的值;
字典是映射類型,鍵值對一一對應關系,不是序列;
字典元素是無序的;
字典是可迭代對象,是容器類型;
字典的創建:k = {}; k1={『keyword』:object}; k2 = dict();
K3 = dict(mapping); dict=(iterable)
二,字典的訪問:
通過key:k[『key』]
修改key對應的值:K[『key』] = value
For循環遍歷出來的是key;
For循環鍵值對:for I in d.items():
For 循環enumerate: for k,v in enumerate(k1):
In/not in 成員關系查詢鍵不支持查值
三,字典常用方法
get(key,de):獲取值:k.get(key,de) //若不存在則默認輸出de
pop(k,de):刪除一個鍵值對,不存在輸出de,未設置報錯;
keys() :返回字典所有key組成的序列:list(k.keys()) [1,2,3];
values():返回字典所有value組成的序列:list(k.values())
items():返回鍵值對組成的元組為元素的序列:(類set)list(k.items())
update(e):更新字典:e可是字典或兩元素組成的單位元素序列:e=[(5,6),(7,8)];
k.update(e)
clear():清空字典;
popitem()刪除某個鍵值對,若字典為空則報錯
() :淺拷貝
10, fromkeys(iterable,value=None):從可迭代對象創建字典
{}.fromkeys([1,2,3]) -----{1:None,2:None,3:None}
11,setdefault(k,d=None) :若key不存在則生成一個鍵值對
k.setdefault(『keyword』)
Python 集合set
集合表示的數據:
多個元素的無序組合,集合是無序的,集合元素是唯一的;
字典的鍵是由集合實現的;
集合是可迭代對象
集合創建:s = {1,2}; s1 = set(); s2 = set(iterable)
集合元素的訪問:
For 循環將集合所有元素全部訪問一遍,不重復
常用方法:
add(object):s.add(『hi』) 向集合添加一個元素
pop() :彈棧,集合為空則報錯:刪除任意一個元素;
clear():清空集合,返回一個空集合對象;
remove(object):刪除一個元素,不存在和報錯:s.remove(『hi』)
update(集合):更新另一個集合,元素不存在則不更新;
() :淺拷貝
集合的運算:
交集:s1&s2;
差集,補集:s1-s2;
並集:s1|s2;
Issubset():判斷是否是子集:s1.issubset(s2) s1是否s2的集合子集
Issuperset():判斷是否是父集:s1.issuperset()
不可變集合:
Frozenset():返回一個空的不可變集合對象
Frozenset(iterable):
S = frozenset(iterable)
Python序列類型共同特性
一,序列類型共同特性
python序列類型有:str字元串,list列表,tuple元組
都支持下標索引,切片操作;
下標都是從0開始,都可通過下標進行訪問;
擁有相同的操作符
二,支持的函數:
len(obj):返回對象長度;
list(iterable):將可迭代對象轉為列表;
tuple(iterable):將可迭代對象轉為元組;
str(ojb):將任何對象轉為字元串形式;
max(iterable): python3中元素要是同類型,python2中元素可異構:max([『a』,1])
min(iterable):和max類似;
sum(iterable,star=0),求可迭代對象和,默認star為0,元素不能為字元串
sorted(iterable,key=None,reverse=False)
s=[(『a』,3),(『b』,2),(『c』,9)]
sorted(s,key=lambda s:s[1]) //按照數字排序
reversed(sequence):翻轉序列,返回迭代器
enumerate(iterable):返回enumerate對象,其元素都是一個元組(下標,值)
zip(iter1,iter2): zip([1,2],[3,4]) ----[(1,3),(2,4)]
序列類型的切片操作:
Slice:
L[index]; 訪問某個元素;
L[1:4]; 區間
L[star:stop:step]; 設置步長取區間元素
『貳』 python的數據類型有哪些
python數據類型主要分為以下六大類:Numbers(數字)、String(字元串)、List(列表、Tuple(元組)、Dictionary(字典)、Set(集合)。
Python的六個標准數據類型中:
不可變數據(3 個):Number(數字)、String(字元串)、Tuple(元組)。
可變數據(3 個):List(列表)、Dictionary(字典)、Set(集合)。
字元串類型:
python的字元串或串(String)是由數字、字母、下劃線組成的一串字元。
『叄』 python3種數據類型
Python3 中有六個標準的數據類型:Number(數字) + String(字元串) + List(列表) + Tuple(元組) + Sets(集合) + Dictionary(字典)。
Number(數字)
數字類型是顧名思義是用來存儲數值的,需要記住的是,有點和Java的字元串味道差不多,如果改變了數字數據類型的值,將重新分配內存空間。
可以使用del語句刪除一些數字對象的引用:del var1[,var2[,var3[....,varN]]]]。
Python 支持三種不同的數值類型:
1.整型(Int) - 通常被稱為是整型或整數,是正或負整數,不帶小數點。Python3 整型是沒有限制大小的,可以當作 Long 類型使用,所以 Python3 沒有 Python2 的 Long 類型。
2.浮點型(float) - 浮點型由整數部分與小數部分組成,浮點型也可以使用科學計數法表示(2.5e2 = 2.5 x 102 = 250)
3.復數( (complex)) - 復數由實數部分和虛數部分構成,可以用a + bj,或者complex(a,b)表示, 復數的實部a和虛部b都是浮點型。
數字類型轉換
1.int(x) 將x轉換為一個整數。
2.float(x) 將x轉換到一個浮點數。
3.complex(x) 將x轉換到一個復數,實數部分為 x,虛數部分為 0。
4.complex(x, y) 將 x 和 y 轉換到一個復數,實數部分為 x,虛數部分為 y。x 和 y 是數字表達式。
額外說明
和別的語言一樣,數字類型支持各種常見的運算,不過python的運算比別的大多數常見語言都更加豐富,此外,還有大量豐富的方法,提供更高效的開發。
String(字元串)
創建字元串
創建字元串可以使用單引號、雙引號、三單引號和三雙引號,其中三引號可以多行定義字元串,有點類似ES6中的反引號。
Python 不支持單字元類型,單字元也在Python也是作為一個字元串使用。
訪問字元串中的值
和ES一樣,可以使用方括弧來截圖字元串,例子如下:
val_str='yelloxing'
print(val_str[0]) #y
print(val_str[1:3]) #el
print(val_str[:3]) #yel
print(val_str[:5]) #yello
字元串運算符
除了上面已經說明的方括弧,還有一些別的字元串運算,具體查看文檔。
字元串格式化
temp="我叫 %s 今年 %d 歲!" % ('心葉', 7)
print('['+temp+']') #[我叫 心葉 今年 7 歲!]
如上所示,字元串支持格式化,當然,出來上面用到的%s和%d以外,還有一些別的,具體看文檔;是不是感覺有點C語言的味道。
額外說明
所有的字元串都是Unicode字元串(針對python3),有很多有用的方法,真的很有ES和C結合體的味道。
List(列表)
序列是Python中最基本的數據結構。序列中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。
Python有6個序列的內置類型(列表、元組、字元串、Unicode字元串、buffer對象和xrange對象)。
列表其實類似數組,具體的一些操作就很像字元串(類似ES中數組和字元串的關系)。
常見運算
下面用一個例子來展示一些常見的運算:
val_arr=['Made','in','China']
del val_arr[1]
print(val_arr) #['Made', 'China']
print(len(val_arr)) #2
val_newarr=val_arr+[':information']
print(val_newarr) #['Made', 'China', ':information']
val_arr=val_arr*2
print(val_arr) #['Made', 'China', 'Made', 'China']
print('in' in val_arr) #False
print('Made' in val_arr) #True
for row in val_newarr:
print(row, end=" - ") #Made - China - :information -
print(val_newarr[-1]) #:information
print(val_newarr[1:]) #['China', ':information']
再來看一個有用的例子:
cols=3
rows=2
list_2d = [[0 for col in range(cols)] for row in range(rows)]
print(list_2d) #[[0, 0, 0], [0, 0, 0]]
嵌套列表
使用嵌套列表即在列表裡創建其它列表,例如:
loop_arr=['yelloxing','心葉']
result_arr=[loop_arr,'同級別']
print(result_arr) #[['yelloxing', '心葉'], '同級別']
列表的嵌套就很靈活,此外隨便提一下:和前面說的一樣,也有很多方法提供高效的開發。
Tuple(元組)
元組與列表類似,不同之處在於元組的元素不能修改,元組使用小括弧,列表使用方括弧。
創建
元組中只包含一個元素時,需要在元素後面添加逗號,否則括弧會被當作運算符使用
tup1 = ('Google', 'Runoob', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";
print(tup1) #('Google', 'Runoob', 1997, 2000)
print(tup2) #(1, 2, 3, 4, 5)
print(tup3) #('a', 'b', 'c', 'd')
基本操作
和列表的操作很相似,下面說一個幾天特殊的地方:
1.del可以刪除某個元組,不過不可以刪除元組的某個條目。
2.不可以修改,或許元組會更快,感覺的,沒有實際測試。
3.由於元組不可以修改,雖然同樣有一些方法,不過和修改相關的方法就沒有了。
Sets(集合)
回想一下數學裡面的集合,合、交、差、補等運算是不是一下子回想起來了,這里的集合也有這些方法。
和Java的集合類似,一個無序不重復元素集(與列表和元組不同,集合是無序的,也無法通過數字進行索引)。
更具體的說明,如果必要會在單獨說明。
Dictionary(字典)
字典是另一種可變容器模型,且可存儲任意類型對象。
字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括弧({})中,鍵必須是唯一的,但值則不必。
和ES中的JSON的差不多,操作也很像,不過區別也很大,內置方法很多,具體還是一樣,看文檔去。
刪除字典元素
可以用del刪除一個條目或字典,也可以用clear()方法清空字典(比如現在有欄位dict,就是:dict.clear())。
『肆』 python六大數據類型
6個數據類型:Number,String,List,Tuple,Set,Dictionary
不可變數據(3 個):Number(數字)、String(字元串)、Tuple(元組);
可變數據(3 個):List(列表)、Dictionary(字典)、Set(集合)
『伍』 Python中的幾種特殊數據類型小結
下面介紹了Python中的6種特殊數據類型:
1.list:列表
是一種有序的數據集合,在列表數據結構中的類型並不唯一
定義形式:L=['Micha',100,True]
輸出整個列表的時候顯示為['Micha',100,True]
輸出單個的數值則為:Micha
a.訪問,直接使用L[0]表示第一個元素或者使用L[-1]表示最後一個數據,以此類推,但是注意訪問不能越界(訪問的序號不能超過元素的總數)。
b.添加新元素:使用L.append(100)直接將100加入列表末尾,或者使用L.insert(0,'paul')將paul插入任意位置。
c.刪除元素:L.pop()刪除最後一個元素,或者L.pop(2)刪除第2個位置的元素。
d.替換元素:直接賦值就可以了L[2]=100
2.tuple:元組
是一種有序的列表,但是其一旦創立完畢就不能夠更改,即不能插入,刪除裡面的元素,訪問的方式跟List結構一致。
a.t=()其列印後輸出的形式是()
若t中的數據為一個數字則需要在後面加逗號,以區分普通數字,如t=(1,),列印出(1,)而非1,多元素的話則沒有這個要求。
b.可以在不變的tuple中加入可變的List如t=(『a』,'b',['A','B'])
3.dict:字典
d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}
len()函數可以計算任意集合的大小
其中可以簡單地使用d[key]的形式來查找對應的value,這和list很像,不同之處是,list必須使用索引返回對應的元素,而dict使用key,當key不存在的時候,使用該key可能出現錯誤,因此:要避免KeyError發生,有兩個辦法:
一是先判斷一下key是否存在,用in操作符:
if'Paul' in d:
print d['Paul']
如果'Paul'不存在,if語句判斷為False,自然不會執行print d['Paul'],從而避免了錯誤。
二是使用dict本身提供的一個get方法,在Key不存在的時候,返回None:
>>>print d.get('Bart')
59
a.dict中的key不能重復,且dict中的存儲的對應值沒有順序,列印出的東西可能是無序的
b.dict的更新:使用d[『paul']=72求解
c.dict遍歷:
d = {'Adam': 95, 'Lisa': 85, 'Bart': 59 }
>>>for key in d:
...print key
遍歷只能獲得key的值,需要通過key值獲得對應的value
4.set:集合
無序但是所有元素唯一,不重復
a.定義:s = set(['A', 'B', 'C']),查看set的內容:
>>>print s
set(['A','C', 'B'])
可以用in來判斷是否存在於集合中
b.遍歷
s =set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
for xin s:
print x[0]+':',x[1]
c.添加元素到集合中
s.add(4)
d.刪除元素
s.remove(4)若該元素不在集合中將會報錯
5.Unicode編碼
Python在後來添加了對Unicode的支持,以Unicode表示的字元串用u'...'表示,比如:
printu'中文'
注意:不加u,中文就不能正常顯示中文。
a.轉義形式:u'中文 日文 韓文'
b.輸出多行:
u'''第一行
第二行'''
c.raw+多行的形式:
ur'''Python的Unicode字元串支持"中文",
"日文",
"韓文"等多種語言'''
如果中文字元串在Python環境下遇到UnicodeDecodeError,這是因為.py文件保存的格式有問題。可以在第一行添加註釋
# -*-coding: utf-8 -*-
目的是告訴Python解釋器,用UTF-8編碼讀取源代碼。然後用Notepad++另存為, 並選擇UTF-8格式保存。
6.raw的作用
如果一個字元串包含很多需要轉義的字元,對每一個字元都進行轉義會很麻煩。為了避免這種情況,我們可以在字元串前面加個前綴r,表示這是一個「raw」字元串,裡面的字元就不需要轉義了。例如:
r'(~_~)//'
但是r'...'表示法不能表示多行字元串,也不能表示包含'和"的字元串,如果要表示多行字元串。
『陸』 python支持的數據類型
數字:數字類型是不可更改的對象。對變數改變的數字值就是生成/創建新的對象。Python支持多種數字類型:整型、布爾型、雙精度浮點型、十進制浮點型、復數等。
字元串:字元串是不可變類型。就是說改變一個字元串的元素需要新建一個新的字元串,字元串是由獨立的字元組成的,並且這些字元可以通過切片操作順序地訪問。Python裡面通過在引號間包含字元的方式創建字元串,單引號和雙引號的作用是相同的。Python實際上有三類字元串,通常意義的字元串和Unicode字元串實際上都是抽象類basestring的子類。
列表:像字元串類型一樣,列表類型也是序列式的數據類型,字元串只能由字元組成,而且是不可變的,列表則是能保留任意數目的Python對象的靈活的容器。列表不僅可以包含Python的標准類型,可以用用戶定義的對象作為自己的元素。列表可以包含不同類型的對象,要比C或者Python自己的數組類型都要靈活,因為數組類型所有的元素只能是一種類型。列表可以執行pop、sort、reverse等操作。
元組:元組類型在很多操作上跟列表一樣,許多用在列表上的例子在元組上照樣可以用。他們主要不同在於元組是不可變的,或者說是只讀的,所以那些用於更新列表的操作,比如用切片操作來更新一部分元素的操作,就不能用於元組類型。
字典:字典是Python語言中唯一的映射類型。映射類型對象里哈希值(鍵,key) 和指向的對象(值。value)
是一對多的關系。一個字典對象是可變的,它是一個容器類型,能存儲任意個數的Python對象,其中包括其他容器類型。字典類型和序列類型容器類的區別是存儲和訪問數據的方式不同。序列類型只用數字類型的鍵。映射類型可以用其他對象類型做鍵,一般最常用的是用字元串做鍵。字典常見的操作有:字典創建、字典賦值、字典中值的訪問、字典更新、字典元素刪除等操作。
集合。最早出現在Python2.3版本中,通過集合模塊來創建,並通過immutableset類和set類進行訪問。集合有兩種不同的類型,可變集合和不可變集合。可變集合,可以添加和刪除元素,不可變集合則不允許這樣做。
『柒』 如何利用 Python 讀取數據科學中常見幾種文件
前言
如果你是數據行業的一份子,那麼你肯定會知道和不同的數據類型打交道是件多麼麻煩的事。不同數據格式、不同壓縮演算法、不同系統下的不同解析方法——很快就會讓你感到抓狂!噢!我還沒提那些非結構化數據和半結構化數據呢。
對於所有數據科學家和數據工程師來說,和不同的格式打交道都乏味透頂!但現實情況是,人們很少能得到整齊的列表數據。因此,熟悉不同的文件格式、了解處理它們時會遇到的困難以及處理某類數據時的最佳/最高效的方法,對於任何一個數據科學家(或者數據工程師)而言都必不可少。
在本篇文章中,你會了解到數據科學家或數據工程師必須知道的幾種常規格式。我會先向你介紹數據行業里常用的幾種不同的文件格式。隨後,我會向大家介紹如何在 Python 里讀取這些文件格式。
PS:在後文中提到的數據科學家,同樣也包括數據工程師以及所有的數據科學專家。
目錄
文件格式是什麼。數據科學家應當了解各種不同文件格式的原因。不同的文件格式以及從 Python 中讀取這些文件的方法。
1. 逗號分隔值
2. XLSX
3. ZIP
4. 純文本(txt)
5. JSON
6. XML
7. HTML
8. 圖像
9. 分層數據格式
10. PDF
11. DOCX
12. MP3
13. MP4
1. 文件格式是什麼。
文件格式是計算機為了存儲信息而使用的對信息的特殊編碼方式。首先,文件格式代表著文件的類型,如二進制文件或者 ASCII 文件等。其次,它體現了信息組織的方式。比如,逗號分隔值(CSV)文件格式用純文本來儲存列表數據。
為了識別一個文件的格式,你通常會去看這個文件的擴展名。比如,一個以「CSV」格式保存的名為「Data」的文件下方的文件名會顯示為「Data.csv」。看到「.csv」這個擴展名,我們就會清楚地知道這是一個「CSV」文件,並且還可以知道其中的數據是以表格的形式儲存的。
2. 數據科學家應當了解各種不同文件格式的原因。
通常,你碰到的文件類型取決於你當下構造的應用。舉個例子,在一個圖像處理系統中,你需要把圖像作為輸入和輸出。所以,你所見到的文件大都是jpeg、gif 或者 png 格式的。
作為一個數據科學家,你需要了解各種文件格式的底層結構以及相應的優勢和劣勢。只有了解了數據的底層結構,你才能夠進一步去探索它,或者決定如何來儲存相關的數據。
選擇一個最理想的文件格式來儲存數據能夠提升你的模型在處理數據時的性能。
現在,讓我們討論一下下方這些文件格式以及如何在 Python 中讀取它們:
逗號分隔值(CSV)XLSXZIP純文本(txt)JSONXMLHTML圖像分層數據格式PDFDOCXMP3MP4
3. 不同的文件格式以及從 Python 中讀取這些文件的方法。
3.1 逗號分隔值
逗號分隔值文件格式屬於電子表格文件格式的一種。
什麼是電子表格文件格式?
在電子表格文件格式中,數據被儲存在單元格里。每個單元格都處於特定的行和列中。電子表格文件中的列擁有不同的類型。比如說,它可以是字元串型的、日期型的或者整數型的。最常用的電子表格文件格式包括:逗號分隔值(CSV)、Microsoft Excel 電子表格(xls)以及 Microsoft Excel Open XML 電子表格(xlsx)。
CSV 文件中的每一行都代表一份觀察報告,或者也可以說是一條記錄。每一個記錄都包含一個或者更多由逗號分隔的欄位。
有時你看你會遇到用製表符而非逗號來分隔欄位的文件。這種文件格式被稱為 TSV(製表符分隔值)文件格式。
下面是一個用 Notepad 打開的 CSV 文件。
在Python 中從 CSV 文件里讀取數據
現在讓我們看看如何在 Python 中讀取一個 CSV 文件。你可以用 Python 中的「pandas」庫來載入數據。import pandas as pd
df = pd.read_csv(「/home/Loan_Prediction/train.csv」)
上方的代碼將會把 train.csv 文件載入進 DataFrame df 中。
3.2 XLSX文件
XLSX 是 Microsoft Excel Open XML 的文件格式,它同樣可以歸入電子表格文件格式這一類中。它是由 Microsoft Excel 開發的一種基於 XML 文件格式。Microsoft Office 2007 最先採用 XLSX 格式來儲存數據。
在XLSX 中,數據被放在工作表的單元格和列當中。每個 XLSX 文件可能包含一個或者更多工作表,所以一個工作簿中可能會包含多個工作表。
下面是一個在 Microsoft Excel 中打開的「xlsx」文件。
上圖顯示的這個文件里包含多個工作表,這些工作表的名稱分別為 Customers、Employees、Invoice 和 Order。圖片中顯示的是其中一個工作表——「Invoice」——中的數據。
從XLSX 文件讀取數據
讓我們一起來載入一下來自 XLSX 文件的數據並且定義一下相關工作表的名稱。此時,你可以用 Python 中的「pandas」庫來載入這些數據。import pandas as pd
df = pd.read_excel(「/home/Loan_Prediction/train.xlsx」,sheetname = 「Invoice」)
上方的代碼將會把來自「train.xlsx」文件的工作表「Invoice」載入進 DataFrame df 中。
3.3 ZIP 文件
ZIP 格式是一種歸檔文件格式。
什麼是歸檔文件格式?
在歸檔文件格式中,你可以創建一個包含多個文件和元數據的文件。歸檔文件格式通常用於將多個數據文件放入一個文件中的過程。這么做是為了方便對這些文件進行壓縮從而減少儲存它們所需的存儲空間。
有很多種常用的電腦數據歸檔格式可以創建歸檔文件。Zip、RAR 和 Tar 是最常用的3種用於壓縮數據的歸檔文件格式。
因此,ZIP 文件格式是一種無損壓縮格式,這意味著如果你用 ZIP 格式壓縮了多個文件,那麼在解壓縮之後你能夠完全恢復這些數據。ZIP 文件格式使用多種壓縮演算法來壓縮文件。你可以通過 .zip 這個擴展名輕易地識別出一個 ZIP 文件。
在Python 中讀取 .ZIP 文件
你可以通過導入「zipfile」包來讀取 zip 文件。下方的代碼可以實現讀取「T.zip」中的「train.csv」文件。import zipfile
在這里我已經討論了其中一種最常用的歸檔格式,也已經討論了如何在 python 中打開這種歸檔格式。我不會再對其他的歸檔格式進行展開討論。如果你想了解不同類型的歸檔格式並且想對其做出比較
『捌』 python數據類型有哪些
Python基本數據類型一般分為:數字、字元串、列表、元組、字典、集合這六種基本數據類型。
其中數字又包含整型(整型又包括標准整型、長整型(Python2.7及之前版本有))、浮點型、復數類型、布爾型(布爾型就是只有兩個值的整型)、這幾種數字類型。列表、元組、字元串都是序列。
1、數字
數字類型是不可更改的對象。對變數改變數字值就是生成/創建新的對象。Python支持多種數字類型:
整型(標准整型和長整型(Python2.7及之前的有這種類型))、布爾型、雙精度浮點型、十進制浮點型、復數。
2、標准整型
int,標准整型,在大多數32位機器上標准整型取值范圍是-2^31到2^31-1,也就是-2147483648~2147483647,如果在64位機器使用64位編譯器,那麼這個系統的標准整型將是64位。
3、布爾型
bool,從Python2.3開始Python中添加了布爾類型。布爾類型有兩種True和False。對於沒有__nozero__方法的對象默認是True。
對於值為0的數字、空集(空列表、空元組、空字典等)在Python中的布爾類型中都是False。
>>>bool(1)
True
>>>bool('a')
True
>>>bool(0)
False
>>>bool('')
False
4、浮點型
float,每個浮點型佔8個位元組(64位),完全遵守IEEE754號規范(52M/11E/1S),其中52個位用於表示底,11個位用於表示指數(可表示的范圍大約是±10**308.25),剩下的一個位表示符號。這看上去相當完美,然而,實際精度依賴於機器架構和創建Python解釋器的編譯器。
浮點型值通常都有一個小數點和一個可選的後綴e(大寫或小寫,表示科學計數法)。在e和指數之間可以用正(+)或負(-)表示指數的正負(正數的話可以省略符號)。
以上是Python核心編程的對浮點型(雙精度浮點型)的說明。經過Python實測浮點型默認長度是24位元組如果超出這個范圍會自動
5、復數類型
complex,在復數中虛數不能單獨存在,它們總是和一個值為0.0的實數部分一起來構成一個復數。復數由實數部分和虛數部分構成。表示虛數的語法:real+imagj。
實數部分和虛數部分都是浮點型。虛數部分必須有後綴j或J。
『玖』 python基礎教程-數據類型詳解
python提供了多種的數據類型,用來存放數據。其中數據類型中又包括:字元串,布爾類型,整數,浮點數,數字,列表,元組,字典,日期。
1、字元串
a='this is string'print aa="this is string"print aa='''this is stringthis is stringthis is string'''print a
布爾類型
常見的用於循環判斷中
整數
a=int(80.9741)print a
浮點數
a= float(80.974)print a
字元類型的轉換
int(x [,base]) 將x轉換為一個整數
float(x ) 將x轉換到一個浮點數
complex(real [,imag]) 創建一個復數
str(x) 將對象x轉換為字元串
repr(x) 將對象x轉換為表達式字元串
eval(str) 用來計算在字元串中的有效Python表達式,並返回一個對象
tuple(s) 將序列s轉換為一個元組
list(s) 將序列s轉換為一個列表
chr(x) 將一個整數轉換為一個字元
unichr(x) 將一個整數轉換為Unicode字元
ord(x) 將一個字元轉換為它的整數值
hex(x) 將一個整數轉換為一個十六進制字元串
oct(x) 將一個整數轉換為一個八進制字元串
列表
L1 = [1,2,3]print L1L2 = ['abc']print L2L3 = ["a","b","c"]print L3L = list("Python")print Lprint L[0]print L[3]print L[-1]
Python的元組與列表類似,不同之處在於元組的元素不能修改;元組使用小括弧(),列表使用方括弧[];元組創建很簡單,只需要在括弧中添加元素,並使用逗號(,)隔開即可,例如:
tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";
字典(dictionary)是除列表之外python中最靈活的內置數據結構類型。列表是有序的對象結合,字典是無序的對象集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
字典由鍵和對應的值組成。字典也被稱作關聯數組或哈希表。基本語法如下:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'};
時間日期
import time, datetime;localtime = time.localtime(time.time())today = datetime.date.today()print "Local current time :", today
『拾』 python中的數據類型
手機和電腦都可以跆拳道等另一個去看下都是沒關系的,我樂你可以去看下都是可以的。