pandas學習(一)

爲什麼要學pandas

numpy只能夠幫助處理數值型數據

pandas還可以處理其他數據,如字符串,時間序列

pandas的常用的數據類型

1.Series,一維,帶標籤數組
2.DataFrame,二維,Series容器

先來看看Series

什麼是帶標籤?

我們先來創建一個Series數組

import pandas as pd

t = pd.Series([1,3,4,5])

print(type(t))

print(t)

在這裏插入圖片描述

其實標籤就是索引

但是這索引可以指定,可以爲字符串

import pandas as pd

t = pd.Series([1,3,4,5],index=list('abcd'))

print(t)

在這裏插入圖片描述


還可以通過字典來創建一個Series

import pandas as pd

temp_dict = {'name':'xiaoming','age':30,'tel':12345}

t = pd.Series(temp_dict)

print(t)

在這裏插入圖片描述

修改dtype

.astype('int')

和numpy中一樣

Series的切片和索引

和numpy中一樣

import pandas as pd

temp_dict = {'name':'xiaoming','age':30,'tel':12345}

t = pd.Series(temp_dict)

print(t)
print("*"*50)

# 取某行,通過標籤或者索引都可以
print(t['age'])
print(t[0])

print("*"*50)

# 取連續多行
print(t[1:])

print("*"*50)
# 取不連續的多行
print(t[[0,2]])

在這裏插入圖片描述


bool 索引

import pandas as pd

t = pd.Series(range(10))
print(t)

print(t[t<5])

在這裏插入圖片描述


Series索引和值

Series可以取出索引和值

import pandas as pd

t = pd.Series(range(5),index=['a','b','c','d','e'])
print(t)

print(t.index)
print(type(t.index))
print(t.values)
print(type(t.values))

在這裏插入圖片描述
numpy中很多方法都使用與pandas中

pandas讀取外部數據

可以讀取數據庫,excel,csv等很多文件

比如讀取csv文件

pd.read_csv('file_path')

DataFrame

創建DataFrame

import pandas as pd
import numpy as np

t = pd.DataFrame(np.arange(12).reshape(3,4))

print(t)

不僅有行索引index

還有列索引columns
在這裏插入圖片描述

指定索引

import pandas as pd
import numpy as np

t = pd.DataFrame(np.arange(12).reshape(3,4),index=list('abc'),columns=list('wxyz'))

print(t)

在這裏插入圖片描述


通過字典創建DataFrame

import pandas as pd

d = {'name':['hong','ming'],'age':[20,30],'tel':[10043,12345]}

t = pd.DataFrame(d)
print(t)

在這裏插入圖片描述

每一行是一條記錄,每一列的數據類型相同

如果有些值是缺失的,那麼對應的值爲 NaN

DataFrame中描述信息

在這裏插入圖片描述

排序
df.sort_values(by='列索引')

DataFrame索引和切片

取行,取前20行 df[:20]

取列,df["列索引"]

方括號寫數字表示行,字符串表示列


同是對行和列操作

df.loc 通過標籤索引獲取數據
df.iloc 通過位置索引獲取數據

注意是閉合的

在這裏插入圖片描述在這裏插入圖片描述


pandas之布爾索引

在這裏插入圖片描述

pandas之字符串方法

在這裏插入圖片描述

缺失數據處理

數據缺失通常有兩種情況:

一種就是空,None等,在pandas是NaN(和np.nan一樣)
另一種就是我們讓其爲0

判斷數據是不是Nan: pd.isnull(df) , pd.notnull(df)

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章