百度 新網(wǎng)站 重定向過多成都seo學(xué)徒
? 大學(xué)畢業(yè)那年,你成了社會底層群眾里,受教育程度最高的一批人。?
前言?
? 這是我自己學(xué)習(xí)Python的第四篇博客總結(jié)。后期我會繼續(xù)把Python學(xué)習(xí)筆記開源至博客上。?
??上一期筆記有關(guān)Python的NumPy數(shù)據(jù)分析,沒看過的同學(xué)可以去看看:
【Python】NumPy數(shù)據(jù)分析(二)_numpy里的維度是行數(shù)-CSDN博客https://blog.csdn.net/hsy1603914691/article/details/142675036
pandas庫?
1. pandas庫建立在Numpy庫之上,繼承了Numpy庫的功能。
2. Numpy庫的主要對象是數(shù)組,而pandas庫的主要對象是Series。
3. 我們一般使用import pandas as pd,即用pd來簡寫pandas。
創(chuàng)建Series對象?
1. 將一個列表作為參數(shù),傳入pandas庫中的Series()方法即可創(chuàng)建一個Series對象。
2. 如果直接打印Series對象,那么會在左邊給出索引、會在右邊給出Series元素值。
3. 如果想單獨打印索引,則使用Series.index,如果想單獨打印Series元素值,則使用Series.values。
4.?Series對象也能進行索引和切片,和數(shù)組類似。?
import pandas as pd
s1=pd.Series([1,2,3,4,5])
print(s1)
print(s1.values)
print(s1.index)
#0 1
#1 2
#2 3
#3 4
#4 5
#dtype: int64
#[1 2 3 4 5]
#RangeIndex(start=0, stop=5, step=1)
Series對象的自定義索引
1. pandas中Series對象的索引可以自定義,只需創(chuàng)建Series對象時在列表后面指定index。
2. 對于Series對象,既可以使用標簽索引,又可以使用位置索引。
3. 在pandas中,如果使用標簽索引,則使用loc方法;如果使用位置索引,則使用iloc方法。
4. 另一種創(chuàng)建自定義索引Series對象的方法是:把字典作為參數(shù)傳入Series()方法,那么字典中的鍵則變成標簽,字典中的值則變成元素值。
5. 如果想知道一個標簽是否在Series對象里面,可以使用成員運算符in(not in)。
6. 利用位置索引切片時,左閉右開;利用標簽索引切片時,左右都是閉區(qū)間。
import pandas as pd
s1=pd.Series([1,2,3,4,5],index=['a','b','c','d','e'])
print(s1)
print(s1.values)
print(s1.index)
#a 1
#b 2
#c 3
#d 4
#e 5
#dtype: int64
#[1 2 3 4 5]
#Index(['a', 'b', 'c', 'd', 'e'], dtype='object')
print(s1.loc['a'])
#a
print(s1.iloc[1])
#a
Series對象的計算
1.?pandas庫會根據(jù)Series對象索引一致來計算元素值。
2. 為了避免出現(xiàn)NAN值,我們需要用pandas庫提供的方法來進行加減乘除,而不能直接通過?+ - * /?這四個符號來計算。
3. +:Series1.add(Series1,fill_value=0)
4. -:Series1.sub(Series1,fill_value=0)
5. *:Series1.mul(Series1,fill_value=0)
6. /:Series1.div(Series1,fill_value=0)
7.?pandas庫還提供了describe()方法,整體描述Series對象。
8.?pandas庫還提供了apply()方法,用于接收Series對象需要調(diào)用的函數(shù),把Series對象的元素值作為參數(shù)傳函數(shù)。
9.?以上的方法并不改變原來的Series對象,而是返回一個新的Series對象。
import pandas as pd
s1=pd.Series({"小明":92,"小紅":67,"小杰":70,"小麗":88,"小華":76})
s2=pd.Series({"小明":95,"小杰":85,"小宇":60,"小娟":79,"小彤":76})
s3=s1.add(s2,fill_value=0)
print(s3)
print(s1.describe())
s1=s1+5
print(s1)def grade_std(score):if score>=90:return 'A'elif (score<90 and score>=80):return 'B'elif (score<80 and score>=70):return 'C'else:return 'D'
s4=s1.apply(grade_std)
print(s4)
創(chuàng)建DataFrame對象
1. 在pandas庫中,多個Series對象組成一個DateFrame對象。Series對象類似于數(shù)組,而DateFrame對象類似于表格。
2.?DateFrame對象的不同列可以是不同的數(shù)據(jù)類型,所以DateFrame對象不止有橫向的索引,也有列項的列名。
3. 創(chuàng)建DateFrame對象,可以使用pandas庫的DataFrame()方法,往里面?zhèn)魅胍粋€字典為參數(shù),其中字典的鍵是列名,字典的值是不同的Series對象。
致謝
? 感謝您花時間閱讀這篇文章!如果您對本文有任何疑問、建議或是想要分享您的看法,請不要猶豫,在評論區(qū)留下您的寶貴意見。每一次互動都是我前進的動力,您的支持是我最大的鼓勵。期待與您的交流,讓我們共同成長,探索技術(shù)世界的無限可能!?