Pandas常用函式入門

2022-07-12 09:15:14 字數 4280 閱讀 3744

python data analysis library或pandas是基於numpy的一種工具,該工具是為了解決資料分析任務而建立的。pandas納入了大量庫和一些標準的資料模型,提供了高效地操作大型資料集所需的工具。pandas提供了大量能使我們快速便捷地處理資料的函式和方法。

series是一維陣列,與numpy中的一維array類似。二者與python基本的資料結構list也很相近,其區別是list中的元素可以是不同的資料型別,而array和series中則只允許儲存相同的資料型別。

1.建立

#

通過list建立series

s1 = pd.series([7, 3, 6, 2, 9, 5, 8])

#通過dict建立series

s2 = pd.series()

#通過list建立series,並指定index

2.選取

#

獲取前3個資料

s1.head(3)

#獲取後3個資料

s1.tail(3)

#獲取index為2的資料

s1[2]

#獲取1<=index<4的資料

s1[1:4]

#獲取index>3的資料

s1[s1.index>3]

#獲取資料值》5的資料

s1[s1>5]

3.增加、刪除、修改

#

增加資料index=8

s1[8] = -1

#刪除資料index=3,不修改原series

s1 = s1.drop(3)

#對1<=index<3的資料賦值30

s1[1:3] = 30

#對index為4,6的資料賦值50

s1[4, 6] = 50

dataframe是二維的**型資料結構。可以將dataframe理解為series的容器。

1.建立

#

通過dict建立dataframe

2.時間序列型別index

#月

dates = pd.date_range('2017-10-08', periods = 10, freq = "m")

#天dates = pd.date_range('2017-10-08', periods = 10, freq = "d")

#時dates = pd.date_range('2017-10-08', periods = 10, freq = "h")

3.選取

#

獲取前3行資料

df1.head(3)

#獲取後3行資料

df1.tail(3)

#獲取列

df1.name, df1['

name

'], df1[["

name

", "

money"]]

#獲取行

df1[0:3], df1.loc[0:3]

#同時獲取行列

df1.loc[0:3, ["

name

", "

money

"]]

4.增加、刪除、修改

#

增加列df1["

new"] = 6

#刪除列,不修改原dataframe

df1 = df1.drop("

new", axis = 1)

#增加行,修改原dataframe

df1.loc[df1.index.max() + 1] =

#增加行,不修改原dataframe

name

": "

facebook

", "

age": 701, "

money

": 900}], ignore_index =true)

#刪除行,不修改原dataframe

df1 = df1.drop([2])

#修改資料

df1.loc[5,"

age"] = 888df1.loc[8:10, ["

age", "

money

"]] = [11, 222]

5.where

#

過濾資料,使用dataframe.dtypes檢視資料型別

df1[df1["

age"] > 30]

df1[(df1[

"age

"] > 30) & (df1["

money

"] < 600)], df1[(df1.age > 40) & (df1.money < 600)]

df1[df1[

"name

"].isin(["

amazon

", "

youtube

"])]

6.distinct

#

去重df1.age.drop_duplicates()

df1[[

"age

", "

money

"]].drop_duplicates()

7.join

#

聯接df3 = pd.merge(df1, df2, how="

left

", left_on = "

name

", right_on = "

name")

df3 = pd.merge(df1, df2, how="

right

", left_on = "

name

", right_on = "

name

")

8.group by

#

分組df1.groupby("

age")["

money

"].sum()

df1.groupby([

"age

", "

name

"])["

money

"].count()

9.order by

#

排序df1.sort_values("

age", ascending=true)

df1.sort_values([

"age

", "

money

"], ascending=[true, false])

10.union

#

合併df2 =df1.copy(true)

df3 = pd.concat([df1,df2], ignore_index =true)

11.匯入和儲存

excel格式需要安裝openpyxl、xlrd包

#儲存為csv格式

df1.to_csv("

data.csv

", encoding="

utf-8")

#從csv檔案讀取

df1 = pd.read_csv("

data.csv")

#儲存為excel格式

df1.to_excel("

data.xlsx

", sheet_name = "

sheet1

", encoding="

utf-8")

#從excel檔案讀取

df1 = pd.read_excel("

data.xlsx

", sheet_name = "

sheet1

")

pandas 常用函式

本文翻譯自文章 pandas cheat sheet python for data science 同時新增了部分註解。對於資料科學家,無論是資料分析還是資料探勘來說,pandas是乙個非常重要的python包。它不僅提供了很多方法,使得資料處理非常簡單,同時在資料處理速度上也做了很多優化,使得和...

Pandas常用函式

count 非 na 值的數量 describe 針對 series 或 df 的列計算匯 計 min max 最小值和最大值 argmin argmax 最小值和最大值的索引位置 整數 idxmin idxmax 最小值和最大值的索引值 quantile 樣本分位數 0 到 1 sum求和 mea...

pandas常用函式

pd.read csv filename 從csv檔案匯入資料 pd.read table filename 從限定分隔符的文字檔案匯入資料 pd.read excel filename 從excel檔案匯入資料 pd.read sql query,connection object 從sql表 庫...