知識點
Pandas的數據類型有兩種:1、Series 一維,帶標簽數組2、DataFrame 二維,Series容器
Serial對象本質上由兩個數組構成,一個數組構成對象的健(index,索引),一個數組構成對象的值(values).因此Series可以看作是鍵值對(健-->值)
1、Series創建
#方式1 可以手動指定index t = pd.Series(np.arange(10)) print(t) b =pd.Series(range(4),index = ["a","b","c","d"]) print(b)#方式2 字典包含了index temp_dict = {"name":"yangwj","age":28,"tel":"10080"} a = pd.Series(temp_dict)
2、Series索引與切片
a)索引:一個的時候直接傳入序號或者index,多個的時候傳入序號或者index的列表
print(a["name"])#通過key print(a[1])#通過indexprint(a.index) #獲取索引列表 print(len(a.index)) #獲取索引列表長度 print(list(a.index)) #獲取索引并轉為列表 print(a.values) #獲取值,類型為ndarray
print(a[a>1]) #布爾索引
b)切片:直接傳入start end或者步長即可
print(a[:2])#切片 print("*"*10) print(a[::2]) #按步長切片 返回一個無序的Series print("*"*10) print(a[[1,2]])#獲取多個
3、Series其他屬性與方法
b =pd.Series(range(5),index = ["a","b","c","d","a"]) print(b)print(b.max()) #最大值 print(b.min()) #最小值 print(b.idxmax()) #最大值位置 print(b.idxmin()) #最小值位置 #print(b.quantile(0.1)) #10%分位數 0.30000000000000004 #print(b.sum) #求和,但是不使用 #print("*"*10) #print(b.mean) #求均值 #rint(b.median) #求中位數 #print(b.std) #標準差 #print(b.ptp) #極差 = 最大值-最小值 #print(b.cov) #協方差 #print(b.mode()) #眾數 #print(b.var) #方差 #print(b.kurt) #峰度 #print(b.skew) #偏度 print(b.describe()) #Series整體信息描述 '''count 5.000000mean 2.000000std 1.581139min 0.00000025% 1.00000050% 2.00000075% 3.000000max 4.000000 ''' print(b.describe()["count"]) #獲取個數 # print("*"*10) print(pd.isnull(b)) #是空 print(pd.notnull(b)) #不為空 print(pd.isna(b)) #是nan print(pd.notna(b)) #不是nan print(b.head()) #獲取前5行數據 print(b.tail()) #獲取末尾5行數據
4、Series讀取外部數據
#讀取CSV文件 g = pd.read_csv("./youtube_video_data/GB_video_data_numbers.csv") #print(g)#pd.read_sql() #從數據庫讀取
?