目錄
從ndarrays/Lists的字典來創建DataFrame
參考
簡介
Numpy 和 Pandas 有什麼不同
如果用 python 的列表和字典來作比較, 那麼可以說 Numpy 是列表形式的,沒有數值標籤;而 Pandas 就是字典形式。
Pandas是基於Numpy構建的,讓Numpy爲中心的應用變得更加簡單。
要使用Pandas,首先需要了解它的兩個主要的數據結構:Series和DataFrame
詳介
Pandas數據結構之Series
系列(Series
)是能夠保存任何類型的數據(整數,字符串,浮點數,Python對象等)的一維標記數組。軸標籤統稱爲索引。
-
從ndarray創建一個系列Series
#這裏沒有傳遞任何索引,因此默認情況下,它分配了從0到len(data)-1的索引,即:0到3
import pandas as pd
s=pd.Series([21,52,3])
#可自定義索引序號s = pd.Series(data,index=[20,21,22,23])
print(s)
'''
0 21
1 52
2 3
dtype: int64
'''
-
從字典創建一個系列
data={'a':0,'b':1,'c':2}
s=pd.Series(data)
-
從標量創建一個系列
如果數據是標量值,則必須提供索引。將重複該值以匹配索引的長度。
s=pd.Series(5,index=[0,1,2],dtype=float)
'''
0 5.0
1 5.0
2 5.0
dtype: float64
'''
-
使用標籤檢索數據(索引)
s=pd.Series([1,2,3],index=['a','b','c'])
print(s['a']) #1
-
使用索引標籤值列表檢索多個元素
s=pd.Series([1,2,3],index=['a','b','c'])
print(s[['a','c']]) #注意方括號的個數!!!
'''
a 1
c 3
dtype: int64
'''
Pandas數據結構之DataFrame
數據幀(DataFrame)是二維數據結構,即數據以行和列的表格方式排列。
-
創建一個空的DataFrame
import pandas as pd
df=pd.DataFrame()
print(df)
'''
Empty DataFrame
Columns: []
Index: []
'''
-
從列表創建DataFrame
import pandas as pd
#可以使用單個列表或列表列表創建數據幀(DataFrame)
data=['a','b']
df=pd.DataFrame(data)
print(df)
'''
0
0 a
1 b
'''
data2=[['ywp',100],['wtx',99],['baby',88]]
df2=pd.DataFrame(data2,columns=['Name','Score'])
print(df2)
'''
Name Score
0 ywp 100
1 wtx 99
2 baby 88
'''
-
從ndarrays/Lists的字典來創建DataFrame
所有的ndarrays
必須具有相同的長度。如果傳遞了索引(index
),則索引的長度應等於數組的長度。
如果沒有傳遞索引,則默認情況下,索引將爲range(n)
,其中n
爲數組長度。
import pandas as pd
data={'name':['ywp','wtx','baby'],'score':[66,77,88]}
df=pd.DataFrame(data)
print(df)
'''
name score
0 ywp 66
1 wtx 77
2 baby 88
'''
#0 1 2 是分配給每個使用函數range(n)的默認索引
df2=pd.DataFrame(data,index=['rank3','rank2','rank2'])
print(df2)
'''
name score
rank3 ywp 66
rank2 wtx 77
rank2 baby 88
'''
-
從列表創建數據幀DataFrame
字典列表可作爲輸入數據傳遞以用來創建數據幀(DataFrame),字典鍵默認爲列名。
import pandas as pd
data=[{'a':1,'b':2},{'a':5,'b':10,'c':20}]
df=pd.DataFrame(data,index=['first', 'second'],columns=['a','b'])
print(df)
'''
a b
first 1 2
second 5 10
'''
-
從系列的字典來創建DataFrame
字典的系列可以傳遞以形成一個DataFrame。 所得到的索引是通過的所有系列索引的並集。
-
Pandas重建索引
Pandas IO工具
讀取文本文件(或平面文件)的兩個主要功能是read_csv()
和read_table()
。它們都使用相同的解析代碼來智能地將表格數據轉換爲DataFrame
對象。
read_csv()
- 從csv文件中讀取數據並創建一個
DataFrame
對象
import pandas as pd
df=pd.read_csv('D:\Anaconda\Lib\site-packages\lda2vec\examples\hacker_news\data\hacker_news_comments_try.csv',encoding='gb18030')
#注意編碼方式,否則報錯=,=
print(df)
'''
story_id ... story_comment_count
0 3985069 ... 13
1 2481190 ... 16
2 6302825 ... 42
3 6268480 ... 11
4 5487883 ... 44
5 4489556 ... 24
6 2151674 ... 11
7 6302825 ... 42
等等
'''
- 使用
index_col
自定義索引
- 使用
names
參數指定標題的名稱 - 使用
header
參數來刪除原標題
詳見:https://www.yiibai.com/pandas/python_pandas_io_tool.html
read_table()