日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据分析学习03-pandas

發(fā)布時間:2024/9/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据分析学习03-pandas 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

簡介

  • Pandas 是 Python 的外部模塊,它非常像 Excel,提供了分析數(shù)據(jù)的功能。它提供了兩個數(shù)據(jù)類型 Series 和 DataFrame。
    • 什么是 Series?
      • Series 是 Pandas 提供的一種數(shù)據(jù)類型,你可以把它想象成 Excel 的一行或一列。(一維,帶標簽數(shù)組)
      • Series對象本質上由兩個數(shù)組組成(index索引,value值)
    • 什么是 DataFrame?
      • DataFrame 是 Pandas 提供的一種數(shù)據(jù)類型,你可以把它想象成 Excel 的表格。(二維,Series容器)

創(chuàng)建Series

import pandas as pdp1 = pd.Series([11,22,33,44,55]) print(p1) print(type(p1))

import pandas as pdp1 = pd.Series([11,12,13,14,15],index=list("abcde")) #index 指定索引 print(p1)

import pandas as pdp1 = {"name":"gemoumou","age":"18","tel":"10086",} p2 = pd.Series(p1) print(p2)

import pandas as pdp1 = pd.Series([11,22,33,44,55]) print(p1) print(type(p1)) p2 = p1.astype(float) print(p2)

Series的切片和索引

import pandas as pdp1 = {"name":"gemoumou","age":"18","tel":"10086",} p2 = pd.Series(p1) print(p2) # name gemoumou # age 18 # tel 10086 # dtype: object print(p2["name"]) print(p2["age"]) # gemoumou # 18 print(p2[1]) print(p2[2]) # 18 # 10086 print(p2[[0,1]]) # name gemoumou # age 18 print(p2[["name","tel"]]) # name gemoumou # tel 10086

import pandas as pdp1 = pd.Series([11,22,33,44,55,66,77,88,99,100]) print(p1)print(p1[p1>50]) # 取出大于50的數(shù)據(jù)


索引

import pandas as pdp1 = {"name":"gemoumou","age":"18","tel":"10086",} p2 = pd.Series(p1) print(p2) print(p2.index) # Index(['name', 'age', 'tel'], dtype='object') for i in p2.index:print(i) # name # age # tel print(type(p2.index)) # <class 'pandas.core.indexes.base.Index'> print(list(p2.index)) # ['name', 'age', 'tel']


import pandas as pdp1 = {"name":"gemoumou","age":"18","tel":"10086",} p2 = pd.Series(p1) print(p2) print(p2.values) # ['gemoumou' '18' '10086'] print(type(p2.values)) # <class 'numpy.ndarray'>

import pandas as pdp = pd.Series(range(5)) print(p) print(p.where(p>0)) print(p.mask(p>0)) print(p.where(p>1,10))

pandas 讀取外部數(shù)據(jù)

import pandas as pddf = pd.read_csv("數(shù)據(jù).csv") # 讀取csv中的文件 print(df)

pands之DataFrame

  • DataFrame對象既有行索引也有列索引
  • 行索引,表面不同行,橫向索引,叫index 0軸,axis=0
  • 列索引,表明不同列,縱向索引,叫columns 1軸,axis=1
# -*- coding: utf-8 -*- import pandas as pd import numpy as npp1 = pd.DataFrame(np.arange(12).reshape(3,4)) print(p1)

# -*- coding: utf-8 -*- import pandas as pd import numpy as npp1 = pd.DataFrame(np.arange(12).reshape(3,4),index=list("abc"),columns=list("wxyz")) print(p1)

import pandas as pd import numpy as npp1 = {"name":["zhangsan","lisi"],"age":[18,20],"tel":[10086,10010]} p2 = pd.DataFrame(p1) print(p2) print(type(p2))

# -*- coding: utf-8 -*- import pandas as pd import numpy as npp1 = {"name":"zhangsan","age":18,"tel":10086},{"name":"lisi","age":20,"tel":10010},{"name":"wangmazi","age":22,"tel":100000} p2 = pd.DataFrame(p1) print(p2) print(type(p2))

# -*- coding: utf-8 -*- import pandas as pd import numpy as npp1 = [{"name":"zhangsan","age":18,"tel":10086},{"name":"lisi","tel":10010},{"name":"wangmazi","tel":100000}] p2 = pd.DataFrame(p1) print(p2) print(type(p2))

DataFrame的基礎屬性

# -*- coding: utf-8 -*- import pandas as pd import numpy as npp1 = {"name":"zhangsan","age":18,"tel":10086},{"name":"lisi","age":20,"tel":10010},{"name":"wangmazi","age":22,"tel":100000} p2 = pd.DataFrame(p1) print(p2) print(p2.index) print(p2.columns) print(p2.values) print(p2.shape) print(p2.dtypes) print(p2.ndim)

# -*- coding: utf-8 -*- import pandas as pd import numpy as npp1 = {"name":"zhangsan","age":18,"tel":10086},{"name":"lisi","age":20,"tel":10010},{"name":"wangmazi","age":22,"tel":100000},{"name":"xiaoming","age":22,"tel":100000},{"name":"xiaohong","age":22,"tel":100000} p2 = pd.DataFrame(p1) print(p2)print("-"*20+"顯示前幾行"+"-"*20) print(p2.head(2)) print("-"*20+"顯示后幾行"+"-"*20) print(p2.tail(2)) print("-"*20+"顯示p2的概覽"+"-"*20) print(p2.info()) print("-"*20+"快速對數(shù)字類型(int,float)進行統(tǒng)計"+"-"*20) print(p2.describe())



# -*- coding: utf-8 -*- import pandas as pdp1 = pd.read_csv("test01.csv") #print(p1) print(p1.head()) print(p1.info())

# -*- coding: utf-8 -*- import pandas as pdp1 = pd.read_csv("test01.csv") # DataFrame中的排序方法 # ascending=True/False 表示升序或者降序 p1 = p1.sort_values(by="NUM",ascending=False) print(p1)

切片索引

# -*- coding: utf-8 -*- import pandas as pdp1 = pd.read_csv("數(shù)據(jù).csv") # 讀取csv文件內容 # DataFrame中的排序方法 # ascending=True/False 表示升序或者降序 p1 = p1.sort_values(by="NUM",ascending=False) # pandas取行或者列注意點 # 方括號寫數(shù)組,表示取行,對行進行操作 # 方括號寫字符串,表示取列,對列進行操作 print("-"*20+"取前五行"+"-"*20) print(p1[:5]) # print("-"*20+"取后五行"+"-"*20) print(p1[5:]) print("-"*20+"取NAME列的數(shù)據(jù)"+"-"*20) print(p1["NAME"]) print("-"*20+"取前五行 NUM列的數(shù)據(jù)"+"-"*20) print(p1[:5]["NUM"])


p1.loc 通過標簽索引來獲取數(shù)據(jù)

# -*- coding: utf-8 -*- import pandas as pd import numpy as npp1 = pd.DataFrame(np.arange(12).reshape(3,4),index=list("abc"),columns=list("WXYZ")) print(p1) # 衡為行,豎為列 print("-"*20+"坐標:a行Z列"+"-"*20) print(p1.loc["a","Z"]) print("-"*20+"取a行所有"+"-"*20) print(p1.loc["a",:]) print("-"*20+"取Z列所有"+"-"*20) print(p1.loc[:,"Z"]) print("-"*20+"取指定行"+"-"*20) print(p1.loc[["a","c"],:]) print("-"*20+"取指定列"+"-"*20) print(p1.loc[:,["W","Z"]]) print("-"*20+"取連續(xù)的多行多列"+"-"*20) print(p1.loc[["a","b"],["W","Z"]]) print("-"*20+"冒號"+"-"*20) print(p1.loc["a":"c"])


p1.iloc 通過位置來獲取數(shù)據(jù)

# -*- coding: utf-8 -*- import pandas as pd import numpy as npp1 = pd.DataFrame(np.arange(12).reshape(3,4),index=list("abc"),columns=list("WXYZ")) print(p1) # 衡為行,豎為列 print("-"*20+"通過位置來獲取行數(shù)據(jù)"+"-"*20) print(p1.iloc[1]) print("-"*20+"通過位置來獲取列數(shù)據(jù)"+"-"*20) print(p1.iloc[:,1]) print("-"*20+"通過位置來獲取指定數(shù)據(jù)"+"-"*20) print(p1.iloc[1,1]) print("-"*20+"通過位置來獲取多行多列"+"-"*20) print(p1.iloc[1:,1:]) print("-"*20+"通過位置來獲取指定的多行多列"+"-"*20) print(p1.iloc[[1,1],[2,1]]) print("-"*20+"通過位置來獲取多行多列并賦值"+"-"*20) p1.iloc[1:,:2]=100 print(p1) p1.iloc[1:,:2]=np.nan print(p1)

pandas之布爾索引

# -*- coding: utf-8 -*- import pandas as pdp1 = pd.read_csv("數(shù)據(jù).csv") # 讀取csv文件內容 # ascending=True/False 表示升序或者降序 p1 = p1.sort_values(by="NUM",ascending=False) print(p1) print("-"*20+"顯示大于14的數(shù)據(jù)"+"-"*20) print(p1[p1["NUM"]>14]) print("-"*20+"顯示大于10小于22的數(shù)據(jù)"+"-"*20) # & 表示且 | 表示或 不同條件之間需要使用括號括起來 print(p1[(p1["NUM"]>10)&(p1["NUM"]<22)]) print("-"*20+"字符串顯示大于5小于7的數(shù)據(jù)"+"-"*20) print(p1[(p1["NAME"].str.len()>5)&(p1["NAME"].str.len()<7)])



缺失數(shù)據(jù)的處理



刪除nan

import pandas as pd import numpy as npp1 = pd.DataFrame(np.arange(20).reshape(4,5),index=list("abcd"),columns=list("VWXYZ")) # print(p1) # 衡為行,豎為列 p1.iloc[1:3,:2]=np.nan #把1行后2行前,0列后2列前的值變?yōu)閚an print(p1) print("-"*20+"判斷是否存在nan"+"-"*20) print(pd.notnull(p1)) print("-"*20+"通過位置W列來獲取不是nan的數(shù)據(jù)"+"-"*20) print(p1[pd.notnull(p1["W"])]) print("-"*20+"數(shù)據(jù)中只要有nan的行全部刪除"+"-"*20) print(p1.dropna(axis=0,how="any")) print("-"*20+"刪除全部為nan的一行"+"-"*20) print(p1.dropna(axis=0,how="all")) print("-"*20+"inplace原地修改p1數(shù)據(jù)"+"-"*20) p1.dropna(axis=0,how="any",inplace=True) print(p1)

# -*- coding: utf-8 -*- import pandas as pd import numpy as npp1 = pd.DataFrame(np.arange(20).reshape(4,5),index=list("abcd"),columns=list("VWXYZ")) # print(p1) # 衡為行,豎為列 p1.iloc[1:3,:2]=np.nan #把1行后2行前,0列后2列前的值變?yōu)閚an print(p1) print("-"*20+"填充nan"+"-"*20) print(p1.fillna(100)) print("-"*20+"填充全部nan均值"+"-"*20) print(p1.fillna(p1.mean())) print("-"*20+"填充V列nan均值"+"-"*20) print(p1["V"].fillna(p1["V"].mean()))


案例

# -*- coding: utf-8 -*- import pandas as pd import numpy as npfile_path = "IMDB-Movie-Data.csv" df =pd.read_csv(file_path) # print(df.info()) #查看描述信息有哪些字段 # print(df.head(1)) # 查看第一行數(shù)據(jù) # 獲取電影的平均評分 print(df["Rating"].mean()) # 導演的人數(shù) print(len(set(df["Director"].tolist()))) # print(df["Director"].unique()) # 獲取演員的人數(shù) temp_actors_list = df["Actors"].str.split(",").tolist() actors_list = [i for j in temp_actors_list for i in j] actors_num = len(set(actors_list)) print(actors_num)

# -*- coding: utf-8 -*- import pandas as pd import numpy as np from matplotlib import pyplot as pltfile_path = "IMDB-Movie-Data.csv" df =pd.read_csv(file_path) # 統(tǒng)計分類情況思路:重新構造一個全為0的數(shù)組,列名為分類,如果某一條數(shù)據(jù)中分類出現(xiàn)過的就讓0變?yōu)?# 統(tǒng)計分類的列表 temp_list = df["Genre"].str.split(",").tolist() # [[],[],[]] genre_list = list(set([i for j in temp_list for i in j])) # 展開列表 # 構造全為0的數(shù)組 zeros_df = pd.DataFrame(np.zeros((df.shape[0],len(genre_list))),columns=genre_list) # print(zeros_df) # 給每個電影出現(xiàn)分類的位置賦值1 for i in range(df.shape[0]):zeros_df.loc[i,temp_list[i]]=1 # print(zeros_df.head(3)) # 統(tǒng)計每個分類的和 genre_count = zeros_df.sum(axis=0) print(genre_count) # 排序 genre_count = genre_count.sort_values() # 畫圖 _x = genre_count.index _y = genre_count.values plt.figure(figsize=(20,8),dpi=80) plt.bar(range(len(_x)),_y) plt.xticks(range(len(_x)),_x) plt.show()


數(shù)組合并

# -*- coding: utf-8 -*- import pandas as pd import numpy as npdf1 = pd.DataFrame(np.ones((2,4)),index=["A","B"],columns=list("abcd")) print(df1) # 兩行四列 print("-"*50) df2 = pd.DataFrame(np.zeros((3,3)),index=["A","B","C"],columns=list("xyz")) print(df2) # 3行3列 print("-"*50) print(df1.join(df2)) print("-"*50) print(df2.join(df1))

# -*- coding: utf-8 -*- import pandas as pd import numpy as npdf1 = pd.DataFrame(np.ones((2,4)),index=["A","B"],columns=list("abcd")) print(df1) # 兩行四列 df2 = pd.DataFrame(np.zeros((3, 3)), columns=list("asd")) print(df2) print("-" * 50) print(df1.merge(df2, on="a")) # on 表示按照什么進行合并 df2.loc[1,"a"]=1 # 為a列1行進行賦值1 print(df2) print(df1.merge(df2, on="a"))

# -*- coding: utf-8 -*- import pandas as pd import numpy as npdf1 = pd.DataFrame(np.ones((2,4)),index=["A","B"],columns=list("abcd")) print(df1) print("-" * 50) df2 = pd.DataFrame(np.arange(9).reshape((3,3)), columns=list("sad")) print(df2) print("-" * 50) print(df1.merge(df2,on="a")) # on 表示按照什么進行合并 print("-" * 50) df1.loc["A","a"]=100 print(df1) print("-" * 50) print(df1.merge(df2,on="a")) print("-" * 20+"外連接(并集)"+"-" * 20) print(df1.merge(df2,on="a",how="outer")) print("-" * 20+"左鏈接"+"-" * 20) print(df1.merge(df2,on="a",how="left")) print("-" * 20+"右鏈接"+"-" * 20) print(df1.merge(df2,on="a",how="right"))

分組和聚合

# -*- coding: utf-8 -*- import pandas as pd import numpy as npfile_path = "starbucks_store_worldwide.csv" df =pd.read_csv(file_path) # print(df.head(1)) # print(df.info()) # 查看文件中有哪些數(shù)據(jù) grouped = df.groupby(by="Country") #print(grouped) # DataFrameGroupBy # # 可以進行遍歷 # for i,j in grouped: # print(i) # print("-"*50) # print(j) # 調用聚合 # print(grouped.count()) country_count = grouped["Brand"].count() print(country_count["US"]) print(country_count["CN"])




# -*- coding: utf-8 -*- import pandas as pd import numpy as npfile_path = "starbucks_store_worldwide.csv" df =pd.read_csv(file_path) # #統(tǒng)計中國每個身份店鋪數(shù)量 # china_data = df[df["Country"]=="CN"] # grouped = china_data.groupby(by="State/Province").count()["Brand"] # print(grouped) # 數(shù)據(jù)按照多個條件進行分組,返回的Series # grouped =df["Brand"].groupby(by=[df["Country"],df["State/Province"]]).count() # print(grouped) # 數(shù)據(jù)按照多個條件進行分組,返回的DataFrame grouped1 =df[["Brand"]].groupby(by=[df["Country"],df["State/Province"]]).count() grouped2 =df.groupby(by=[df["Country"],df["State/Province"]])[["Brand"]].count() grouped3 =df.groupby(by=[df["Country"],df["State/Province"]]).count()[["Brand"]] print(grouped1,type(grouped1)) print("-"*50) print(grouped2,type(grouped2)) print("-"*50) print(grouped3,type(grouped3))

索引和復合索引

# -*- coding: utf-8 -*- import pandas as pd import numpy as npfile_path = "starbucks_store_worldwide.csv" df =pd.read_csv(file_path) #統(tǒng)計中國每個身份店鋪數(shù)量 china_data = df[df["Country"]=="CN"] grouped = china_data.groupby(by="State/Province").count()["Brand"] print(grouped) #數(shù)據(jù)按照多個條件進行分組,返回的Series grouped =df["Brand"].groupby(by=[df["Country"],df["State/Province"]]).count() print(grouped) #數(shù)據(jù)按照多個條件進行分組,返回的DataFrame grouped1 =df[["Brand"]].groupby(by=[df["Country"],df["State/Province"]]).count() grouped2 =df.groupby(by=[df["Country"],df["State/Province"]])[["Brand"]].count() grouped3 =df.groupby(by=[df["Country"],df["State/Province"]]).count()[["Brand"]] print(grouped1,type(grouped1)) print("-"*50) print(grouped2,type(grouped2)) print("-"*50) print(grouped3,type(grouped3))

# -*- coding: utf-8 -*- import pandas as pd import numpy as npdf1 = pd.DataFrame(np.ones((2,4)),index=["A","B"],columns=list("abcd")) print(df1) print("-"*50) print(df1.index) print("-"*50) df1.index = ["c","d"] print(df1) print(df1.index)

# -*- coding: utf-8 -*- import pandas as pd import numpy as npdf1 = pd.DataFrame(np.ones((2,4)),index=["A","B"],columns=list("abcd")) print(df1) df1.loc["A","a"]=100 print("-"*50) print(df1.reindex(["A","C"]))# 沒有的行全為NaN print("-"*50) print(df1.set_index("a")) # 把某一行作為索引 print(df1.set_index("a").index) print(df1.set_index(["a","b"])) # 把某幾行作為索引 print(df1.set_index(["a","b"]).index) print("-"*50) print(df1.set_index("a",drop=False)) print("-"*50) print(df1["d"].unique()) print(df1["a"].unique()) print("-"*50) print(len(df1.set_index("b").index)) # 求長度 print("-"*50)

# -*- coding: utf-8 -*- import pandas as pd import numpy as npa = pd.DataFrame({"a":range(7),"b":range(7,0,-1),"c":["one","one","one","two","two","two","two"],"d":list("hjklmno")}) print(a) print("-"*50) b = a.set_index(["c","d"]) print(b) print("-"*50) c = b["a"] print(c) print("-"*50) print(c["one"]["j"]) print("-"*50) d = a.set_index(["d","c"])["a"] print(d) print("-"*50) print(d.swaplevel()) print("-"*50) print(d.swaplevel()["one"])


# -*- coding: utf-8 -*- import pandas as pd import numpy as npa = pd.DataFrame({"a":range(7),"b":range(7,0,-1),"c":["one","one","one","two","two","two","two"],"d":list("hjklmno")}) b = a.set_index(["c","d"]) print(b) print("-"*50) print(b.loc["one"].loc["k"]) print("-"*50) print(b.swaplevel().loc["j"])

# -*- coding: utf-8 -*- import pandas as pd from matplotlib import pyplot as pltfile_path = "starbucks_store_worldwide.csv" df =pd.read_csv(file_path)# 使用matplotlib呈現(xiàn)出店鋪總數(shù)排名前10的國家 # 準備數(shù)據(jù) data1 = df.groupby(by="Country").count()["Brand"].sort_values(ascending=False)[:10] # 升序前10 _x = data1.index _y = data1.values # 畫圖 plt.figure(figsize=(20,8),dpi=80) plt.bar(range(len(_x)),_y) plt.xticks(range(len(_x)),_x) plt.show()

# -*- coding: utf-8 -*- import pandas as pd from matplotlib import pyplot as plt from matplotlib import font_managermy_font = font_manager.FontProperties(fname='C:/Windows/Fonts/msyhl.ttc')# 設置字體 file_path = "starbucks_store_worldwide.csv" df =pd.read_csv(file_path) df = df[df["Country"]=="CN"]# 使用matplotlib呈現(xiàn)出中國各個城市店鋪總數(shù)排名 # 準備數(shù)據(jù) data1 = df.groupby(by="City").count()["Brand"].sort_values(ascending=False)[:50] #升序 _x = data1.index _y = data1.values # 畫圖 plt.figure(figsize=(20,8),dpi=80) plt.bar(range(len(_x)),_y,width=0.3,color="orange") plt.xticks(range(len(_x)),_x,fontproperties=my_font,rotation=90) plt.show()

pandas 時間序列


# -*- coding: utf-8 -*- import pandas as pdprint(pd.date_range(start="20171230",end="20180131",freq="D"))# D 表示天 print("-"*50) print(pd.date_range(start="20171230",end="20180131",freq="10D")) # 每隔10天 print("-"*50) print(pd.date_range(start="20171230",periods=10,freq="D"))# 生成10天 print("-"*50) print(pd.date_range(start="20180101",periods=12,freq="M"))# 月

案例

# -*- coding: utf-8 -*- import pandas as pd pd.set_option('expand_frame_repr', False)#True就是可以換行顯示。設置成False的時候不允許換行 file_path = "BeijingPM20100101_20151231.csv" df =pd.read_csv(file_path)#把分開的時間字符串通過 PeriodIndex的方法轉化為pandas的事件類型 periond1 = pd.PeriodIndex(year=df["year"],month=df["month"],day=df["day"],hour=df["hour"],freq="H") # print(periond) df["datetime"] = periond1 print(df.head(10))

# -*- coding: utf-8 -*- import pandas as pd from matplotlib import pyplot as pltpd.set_option('expand_frame_repr', False)#True就是可以換行顯示。設置成False的時候不允許換行 file_path = "BeijingPM20100101_20151231.csv" df =pd.read_csv(file_path)#把分開的時間字符串通過 PeriodIndex的方法轉化為pandas的事件類型 periond1 = pd.PeriodIndex(year=df["year"],month=df["month"],day=df["day"],hour=df["hour"],freq="H") # print(periond) df["datetime"] = periond1 print(df.head(10)) # 把datetime設置為索引 df.set_index("datetime",inplace=True)# 處理NaN缺失數(shù)據(jù),刪除缺失數(shù)據(jù) data = df["PM_US Post"].dropna() # 畫圖 _x = data.index _y = data.values plt.figure(figsize=(20,8),dpi=80) plt.plot(range(len(_x)),_y) plt.xticks(range(0,len(_x),20),list(_x)[::20]) plt.show()

# -*- coding: utf-8 -*- import pandas as pd from matplotlib import pyplot as pltpd.set_option('expand_frame_repr', False)#True就是可以換行顯示。設置成False的時候不允許換行 file_path = "BeijingPM20100101_20151231.csv" df =pd.read_csv(file_path)#把分開的時間字符串通過 PeriodIndex的方法轉化為pandas的事件類型 periond1 = pd.PeriodIndex(year=df["year"],month=df["month"],day=df["day"],hour=df["hour"],freq="H") # print(periond) df["datetime"] = periond1 #print(df.head(10)) # 把datetime設置為索引 df.set_index("datetime",inplace=True) # 應數(shù)據(jù)較多我們進行降采樣按周或者月平均統(tǒng)計 # df =df.resample("M").mean() df =df.resample("7D").mean()data = df["PM_US Post"].dropna() # 畫圖 _x = data.index _x = [i.strftime("%Y%m%d")for i in _x] _y = data.values plt.figure(figsize=(20,8),dpi=80) plt.plot(range(len(_x)),_y) plt.xticks(range(0,len(_x),10),list(_x)[::10],rotation=45) plt.show()

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的数据分析学习03-pandas的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。