Datawhale之動手學資料分析第一章

2021-10-23 12:54:16 字數 3139 閱讀 9291

step1:匯入numpy&pandas庫

step2:載入資料

1.1檢視資料的基本資訊

df.info()
1.2觀察dataframe物件的前n行/後n行

df.head(n)

df.tail()

1.3判斷資料是否為空,為空的地方返回true,其餘地方返回false

df.isnull().head()
1.4儲存資料

df.to_csv('filename.csv')
series是帶標籤的一維陣列,可儲存整數、浮點數、字串、python 物件等型別的資料。軸標籤統稱為索引

series的字串表現形式為:索引在左邊,值在右邊。如果我們沒有為資料指定索引,於是會自動建立乙個0到n-1(n為資料的⻓度)的整數型索引。

pd.series(data,index=['one','two','three'])
dataframe是由多種型別的列構成的二維標籤資料結構,類似於 excel 、sql 表,或 series 物件構成的字典。

pd.dataframe(data, index=['a', 'b', 'c'], columns=['one', 'two'])
2.1檢視dataframe資料的每列的項

df.columns
2.2檢視特定一列的所有項

2.3刪除

dataframe.drop(labels=none,axis=0, index=none, columns=none, inplace=false)

引數說明:

labels 就是要刪除的行列的名字,用列表給定

axis 預設為0,指刪除行,因此刪除columns時要指定axis=1

index 直接指定要刪除的行

columns 直接指定要刪除的列

inplace=false,預設該刪除操作不改變原資料,而是返回乙個執行刪除操作後的新dataframe

inplace=true,則會直接在原資料上進行刪除操作,刪除後無法返回

因此,刪除行列有兩種方式:

1)labels=none,axis=0 的組合

2)index或columns直接指定要刪除的行或列

#刪除列名為a的列,如果inplace不寫預設為false

test_1.drop('a', axis=1, inplace=true)

#刪除列名為a的列

del test_1['a']

#刪除第0,2,4列 ,axis=0表示行,1表示列

test_1.drop(df.columns[[0, 2, 4]], axis=1)

#隱藏某列,如'age','ticket',只觀察其他幾個列元素

test_1.drop(['age','ticket'],axis=1).head(n)

#這樣寫不可以,顯示出來的是全部

test_1.drop(['age','ticket'],axis=1)

2.4篩選

簡單使用交集與並集

midage = df[(df["age"]>10)&(df["age"]<50)]

loc函式:通過行索引 "index" 中的具體值來取行資料(如取"index"為"a"的行) df.loc[ [行號/名], [列號/名] ]

iloc函式:通過行號來取行資料(如取第二行的資料)  df.iloc[ [行號], [列號] ] 

# 第n行的"a"和"b"的資料顯示出來

df.loc[[n],['a','b']]

# 使用iloc方法將資料中第a,b,c行的"age","name"和"***"的資料顯示出來

df.iloc[[a,b,c],[age,name,***]]

frame = pd.dataframe(np.arange(8).reshape((2, 4)),index=['2', '1'],columns=['d', 'a', 'b', 'c'])
pd.dataframe(): 建立乙個dataframe物件

np.arange(8).reshape((2, 4)): 生成乙個二維陣列(2*4),第一列:0,1,2,3 第二列:4,5,6,7 

index=['2, 1]: dataframe 物件的索引列

columns=['d', 'a', 'b', 'c']: dataframe 物件的索引行

# 讓行索引公升序排序

frame.sort_index()

# 讓列索引公升序排序

frame.sort_index(axis=1)

# 讓列索引降序排序

frame.sort_index(axis=1, ascending=false)

進行算術計算

#將frame_a和frame_b進行相加

frame1_a + frame1_b

兩個dataframe相加後,會返回乙個新的dataframe,對應的行和列的值會相加,沒有對應的會變成空值 nan。

# 呼叫 describe 函式,觀察frame1的資料基本資訊

frame1.describe()

text['name'].describe()

count : 樣本資料大小

mean : 樣本資料的平均值

std : 樣本資料的標準差

min : 樣本資料的最小值

25% : 樣本資料25%的時候的值   50% : 樣本資料50%的時候的值   75% : 樣本資料75%的時候的值 

max : 樣本資料的最大值

Datawhale之動手學資料分析第二章(二)

list up text left up,text right up result up pd.concat list up,axis 1 result up.head list down text left down,text right down result down pd.concat li...

動手學資料分析之「資料重構」

在資料分析中,原始的資料往往比較紛繁複雜,特徵不突出,使用起來不方便,這種時候我們可以通過一定的資料重構手段,比如資料合併和資料聚類及資料重塑,來幫助我們將資料重構為更適合分析的形式,這就是資料重構的作用。pandas庫中的資料合併方法有merge 函式,concat 函式,以及join 函式。簡而...

動手學深度學習

線性回歸的基本要素 模型 為了簡單起見,這裡我們假設 只取決於房屋狀況的兩個因素,即面積 平方公尺 和房齡 年 接下來我們希望探索 與這兩個因素的具體關係。線性回歸假設輸出與各個輸入之間是線性關係 price warea area wage age b price warea area wage a...