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')
2.1檢視dataframe資料的每列的項series
是帶標籤的一維陣列,可儲存整數、浮點數、字串、python 物件等型別的資料。軸標籤統稱為索引。series的字串表現形式為:索引在左邊,值在右邊。如果我們沒有為資料指定索引,於是會自動建立乙個0到n-1(n為資料的⻓度)的整數型索引。
dataframe是由多種型別的列構成的二維標籤資料結構,類似於 excel 、sql 表,或 series 物件構成的字典。pd.series(data,index=['one','two','three'])
pd.dataframe(data, index=['a', 'b', 'c'], columns=['one', 'two'])
df.columns
2.2檢視特定一列的所有項
2.3刪除
dataframe.drop(labels=none,axis=0, index=none, columns=none, inplace=false)2.4篩選引數說明:
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)
簡單使用交集與並集
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...