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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Datawhale组队-pandas(上)基础(自学)

發布時間:2023/12/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Datawhale组队-pandas(上)基础(自学) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Pandas是Python的核心數據分析支持庫,提供了快速靈活、明確的數據節后,旨在簡單、直觀地處理關系型、標記型數據。Pandas的目標是稱為Python數據分析時間與實戰的必備高級工具,其長遠目標是稱為最強大、最靈活,可以支持任何語言的開源數據。

Pandas適用于處理以下類型的數據:

  • 與SQL或Excel表類似的,含異構列的表格數據;
  • 有序和無序(非固定頻率)的時間序列數據
  • 帶行列標簽的矩陣數據,包括同構或異構數據
  • 任意其它形式的觀測、統計數據集,數據轉入Pandas數據結構時不必事先標記。

Pandas的優勢:

  • 處理浮點與非浮點數據里的缺失數據,表示為NaN;
  • 大小可變:插入或刪除DataFrame等多維對象的列;
  • 自動、顯式數據對齊:顯式地將對象與一組標簽對齊,也可以忽略標簽,在Series、DataFrame計算時自動與數據對齊;
  • 強大、靈活的分組功能:拆分-應用-組合數據集,聚合、轉換數據;
  • 把Python和Numpy數據結構里不規則、不同索引的數據輕松地轉換為DataFrame對象;
  • 基于智能標簽,對大型數據集進行切片、花式索引、子集分解等操作;
  • 直觀地合并(merge)、連接(join)數據集;
  • 靈活地重塑(reshape)、透視(pivot)數據集;
  • 軸支持結構化標簽:一個刻度支持多個標簽;
  • 成熟的IO工具:讀取文本文件(csv)、Excel文件、數據庫等來源的數據,利用超快的HDF5格式保存、加載數據;
  • 時間序列:支持日期范圍生成、頻率轉換、移動窗口統計、移動窗口線性回歸、日期位移等時間序列功能。

?

一、文件讀取與寫入

1.讀取與寫入

常見的文件格式有csv、txt、xls、xlsx格式

#讀取csv df = pd.read_csv('data/table.csv') #讀取txt df_txt = pd.read_table('data/table.txt') #可設置sep分隔符參數 #讀取xls或xlsx df_excel = pd.read_excel('data/table.xlsx') #寫入csv df.to_csv('data/table.csv') #寫入xls或xlsx df_excel.to_excel('data/table.xlsx')

二、基本數據結構

Pandas的兩種數據類型:Series是帶標簽的一維數組,可存儲整數、浮點數、字符串、Python對象等類型的數據。軸標簽統稱為索引,Data是由多種類型的列構成的二維標簽數據結構,支持一維和多維數據輸入,還可以有選擇人地傳遞index和columns參數。

1.Series

對于一個Series,常用的屬性為值(values),索引(index),名字(name),類型(dtype)

s = pd.Series(np.random.randn(5),index=['a','b','c','d','e'],name='這是一個Series',dtype='float64') print(s.name) print(s.values) print(s.index) print(s.dtype)

2.DataFrame

創建一個DataFrame

df = pd.DataFrame({'col1':list('abcde'),'col2':range(5,10),'col3':[1.3,2.5,3.6,4.6,5.8]},index=list('一二三四五'))#從DataFrame取出一列為Series print(df['col1']) print(type(df)) print(type(df['col1']))#修改行或列名 df.rename(index={'一':'one'},columns={'col1':'new_col1'})#DataFrame的屬性和方法 print(df.index) print(df.columns) print(df.values) print(df.shape) print(df.mean())

索引對齊特性:

df1 = pd.DataFrame({'A':[1,2,3]},index=[1,2,3]) df2 = pd.DataFrame({'A':[1,2,3]},index=[3,1,2]) df1-df2 #由于索引對齊,因此結果不是0

列的刪除與添加(drop或pop、del和直接增加、assign)

df = pd.DataFrame({'col1':list('abcde'),'col2':range(5,10),'col3':[1.3,2.5,3.6,4.6,5.8]},index=list('一二三四五')) #刪除 #drop df.drop(index='五',columns='col1') #del df['col1']=[1,2,3,4,5] del df['col1'] #pop df['col1']=[1,2,3,4,5] df.pop('col1')#直接增加列(以索引為準) df1['B']=list('abc') #用assign,不會對原DataFrame修改 df1.assign(C=pd.Series(list('def')))

三、常用基本函數

1、head和tail

head是默認展示df的前5行,可通過head(10)展示第十行

tail是默認展示df的后5行,可通過tail(10)展示第十行

2.nunique和unique

nunique顯示有多少個唯一值

unique顯示所有的唯一值

3.count和value_counts

count返回非缺失值元素個數

value_counts返回每個元素有多少個

4.describe和info

describe默認統計數值型數據的各個統計量,可以自行選擇分位數

info函數返回有那些列,有多少非缺失值、每列的類型

5.idxmax和nlargest

idxmax函數返回最大值所在索引,在某些情況下特別適用,idxmin功能類似?

nlargest函數返回前幾個大的元素值,nsmallest功能類似

6.clip和replace

clip是對超過或者低于某些值的數進行截斷

replace是對某些值進行替換?

7.apply函數

df['Math'].apply(lambda x:str(x)+'!').head() #可以使用lambda表達式,也可以使用函數df.apply(lambda x:x.apply(lambda x:str(x)+'!')).head() #這是一個稍顯復雜的例子,有利于理解apply的功能

四、排序

1.索引排序

df.set_index('Math').head() #set_index函數可以設置索引 df.set_index('Math').sort_index().head() #可以設置ascending參數,默認為升序,True

2.值排序

#單值排序 df.sort_values(by='Class').head() df.sort_values(by=['Address','Height']).head()

練習:

?

總結

以上是生活随笔為你收集整理的Datawhale组队-pandas(上)基础(自学)的全部內容,希望文章能夠幫你解決所遇到的問題。

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