您好,登錄后才能下訂單哦!
本篇內容介紹了“Pandas的Series和DataFrame怎么創建”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Pandas是使用Python語言開發的用于數據處理和數據分析的第三方庫。它擅長處理數字型數據和時間序列數據,當然文本型的數據也能輕松處理。 Pandas 可以處理的數據格式非常多,常見的數據文件格式都可以快速導入,比如 CSV、JSON、SQL、Microsoft Excel 導入數據。
Pandas 的主要數據結構有兩種,分別是: Series (一維數據)與 DataFrame(二維數據);所以后面的內容也是圍繞著這兩部門展開的;
似于一維數組的對象,它由一組數據(各種Numpy數據類型)以及一組與之相關的數據標簽(即索引)組成。即:Series 與Numpy 數組基本是一樣的,只不過多了數據標簽(索引);
Series 格式: pandas.Series( data, index, dtype, name, copy)
參數說明:
參數 | 解釋說明 |
---|---|
data | 一組數據(ndarray 類型) ,即Numpy數據; |
index | 數據索引標簽,如果不指定,默認從 0 開始。 |
dtype | 數據類型,默認會自己判斷。 |
name | 設置名稱。(不常用) |
copy | 拷貝數據,默認為 False。(不常用) |
Series 舉例:
import pandas as pd a = ['x','y','z'] b = [1,2,3] mynum1 = pd.Series(b) print(mynum1) # 0 1 # 1 2 # 2 3 mynum2 = pd.Series(b,index=a) print(mynum2) # x 1 # y 2 # z 3 # dtype: int64 mynum3 = pd.Series(b,index=a,dtype=float) print(mynum3) # x 1.0 # y 2.0 # z 3.0 # dtype: float64
注意事項:
一般情況下,當我們導入pandas的時候,都會將Pandas重命名為pd(因為大家都這么做;)
當不指定index時,會默認index是一個從0開始的整數數組,即:0,1,2....;例如:上例中的mynum1;
當不指定dtype時,pandas會自己判斷一個最合適的數據類型;例如:上例中的mynum2;
也可以自己指定index與dtype, 這樣pandas會按照我們指定的數據生成;例如:上例中的mynum3;
類似于二維數組的對象,是一個表格型的數據結構,它含有一組有序的列,每列可以是不同的值類型(數值、字符串、布爾型值)。DataFrame 既有行索引也有列索引;可以當作是許多個共用同一個索引的Series組成的數據結構;DataFrame 圖解如下:
上圖所表示的就是一個由n 個Series組成的DataFrame; 所有的Series 共享同一個Index ;
DataFrame 格式:pandas.DataFrame( data, index, columns, dtype, copy)
參數說明:
參數 | 解釋說明 |
---|---|
data | 一組數據(ndarray 類型) ,即Numpy數據; |
index | 數據索引標簽,也可稱為行標簽 |
columns | 數據列標簽,如果不指定,默認從 0 開始。也可稱為列標簽。 |
dtype | 數據類型,默認會自己判斷。 |
copy | 拷貝數據,默認為 False。(不常用) |
不指定Index的時候,用單個數值只能創建一個元素的Series;
mySer = pd.Series(2) print(mySer) # 0 2 # dtype: int64
通過指定Index 可以生成多個相同元素的Series,舉例如下:
mySer = pd.Series(2,index=range(3)) print(mySer) # 0 2 # 1 2 # 2 2 # dtype: int64
當不指定Index的時候,會默認生成RangeIndex(start=0, stop=n-1, step=1)
的Index; 舉例如下:
lis = [3,4,5] mySer = pd.Series(lis) print(mySer) # 0 3 # 1 4 # 2 5 # dtype: int64 print(mySer.index) # RangeIndex(start=0, stop=3, step=1) print(mySer.values) # [3 4 5]
也可以指定Index, 舉例如下:
lis = [3,4,5] ind = ["馬里奧","路易吉","林克"] mySer = pd.Series(lis,index=ind) print(mySer) # 馬里奧 3 # 路易吉 4 # 林克 5 # dtype: int64 print(mySer.index) # Index(['馬里奧', '路易吉', '林克'], dtype='object') print(mySer.values) # [3 4 5]
dic = {'馬里奧':3,'路易吉':4,'林克':5} mySer = pd.Series(dic) print(mySer) # 馬里奧 3 # 路易吉 4 # 林克 5 # dtype: int64 print(mySer.index) # Index(['馬里奧', '路易吉', '林克'], dtype='object') print(mySer.values) # [3 4 5]
array = np.array([0, 1, 2, 3]) mySer = pd.Series(array) print(mySer) # 0 0 # 1 1 # 2 2 # 3 3 # dtype: int32 print(mySer.index) # RangeIndex(start=0, stop=4, step=1) print(mySer.values) # [0 1 2 3]
dict1 = {'馬里奧':[2,3,4],'路易吉':[5,6,7],'林克':[8,9,0]} df = pd.DataFrame(dict1,index=["英雄%s"%i for i in range(1,4)]) print(df) # 馬里奧 路易吉 林克 # 英雄1 2 5 8 # 英雄2 3 6 9 # 英雄3 4 7 0
ser1 = pd.Series(np.arange(0,5,1)) ser2 = pd.Series(np.arange(5,10,1)) df = pd.DataFrame({'A':ser1,'B':ser2}) print(df) # A B # 0 0 5 # 1 1 6 # 2 2 7 # 3 3 8 # 4 4 9
arr = np.arange(9).reshape(3,3) df = pd.DataFrame(arr,columns=['A','B','C'],index=['IN1','IN2','IN3']) print(df) # A B C # IN1 0 1 2 # IN2 3 4 5 # IN3 6 7 8
lis1=[1,2,3] lis2=[2,3,4] df = pd.DataFrame({'A':lis1,'B':lis2},index=['IN1','IN2','IN3']) print(df) # A B # IN1 1 2 # IN2 2 3 # IN3 3 4
“Pandas的Series和DataFrame怎么創建”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。