利用python進行數據分析_利用python進行數據分析復現(1)

2f0ff573d01c341bf767ee3a229966d9.png

一直以來,都想學習python數據分析相關的知識,總是拖拖拉拉,包括這次這個分享也是。《利用python進行數據分析 第2版》是一次無意之間在簡書上看到的一個分享,我決定將很詳細。一直都想著可以復現一下。但總有理由,忘記和拖拉。這次我想通過分享的方式來監督自己學習。爭取一周更一次。中間每天都還是要學習,只是周末再分享。 放上原鏈接: https://www.jianshu.com/p/04d180d90a3f 作者在鏈接中放上了書籍,以及相關資源。因為平時雜七雜八的也學了一些,所以這次可能是對書中的部分內容的復現。也可能有我自己想到的內容,內容暫時都還不定。在此感謝原簡書作者SeanCheney的分享。

直接從第二章開始。

第二章 Python語法基礎,IPython和Jupyter Notebooks

我使用的是Jupyter Notebooks進行所有操作

import numpy as np

通過上述語句,導入import后面的包,as 后跟在本次運算中,對那個包取的別名。在Jupyter Notebooks中,輸入完一句后,運行并跳到下一行中,按shift + enter

data = {i : np.random.randn() for i in range(7)}
'''上述語句表示,對data賦值,data是一個字典,一共有7對,每一個值都是由np.random.randn()產出的隨機數。'''
'''導入包的時候,也可以直接導入我們需要的那個函數'''
from numpy.random import randn
data = {i : randn() for i in range(7)}
print(data)

tab補全

這個是在IPython shell 中可以對文件路徑、命名、對象和模塊屬性這些進行文件全路徑的補全 當我輸入到numpy.的時候,按下tab鍵,就可以補全后面的函數。

45028d56ef4d1ba8fa27db86b245b0b5.png

自省

加上?,就可以顯示出對象的詳細信息。 加上??,就可以顯示出對象的源代碼。

b6a47d6af87fc0b94f99f54d3495d056.png

%run命令 這個是可以在IPython中運行另一段代碼,而在jupyter notebook中,這是用%load Ctrl+C 可以打斷正在運行中的代碼。在我目前用到的IDE中,基本上行都是可以用Ctrl+C打斷運行代碼 IPython和jupyter notebook都有一套快捷鍵,在jupyter notebook中,可以參考幫助文檔。

786a43b1125d31aad52604f6f033c992.png

IPython中還有一套魔術命令,但是我一般都不用IPython,所以這一段我就沒細看。有需要的可以去看原作者的帖子內容。 在jupyter notebook中可以隨意復制粘貼,但IPython shell 的風格和cmd較為接近,復制粘貼相對麻煩,可以使用%paste 和%cpaste可以運行剪切板中的代碼,%cpaste在運行的時候會給出一段提示。jupyter notebook中就不能使用這個了。

Python語法基礎

通過縮進表示文檔的語句之間的空間。一般使用四個空格,或者按一下Tab鍵。 在python中,數字、字符串、函數、模塊都可以作為一個對象。同時,在語句中也可以通過#鍵,對每一行內容進行一個注釋。 書中還提到了一個鴨子類型,即只要滿足我們需要功能,那他就是符合我們要求的。這可以去判斷一個對象是不是可以達到我們需要的功能。 Python中,通過=傳遞數組,在=前后的變量對應的內容是一樣的,變量類似指針,同時指向內存的一個內容,改變其中的一個,會影響另一個的值。

a=[1,2,3]
b=a
b
# out:[1,2,3]
a.append(3)
b
# out:[1,2,3,4]

引入

這個可以導入我們之前編輯的文件 可以引用我們在另一個文件確定的函數等等。 這是在同一個文件夾中便捷的some.py文件

0231442c39e88f0d20da9c413eb65f61.png
import some
some.f(2)
# out:4
print(some.g(3,4))
some.PI
# out:7
# out:3.14159

運算符

具體的內容可以參照這個內容

bdb4a8a8f31123419f438ae58ba17576.png

python中字符串和元祖是不可變的,其余的基本上都是可變的。 Python的標準庫中有?些內建的類型,?于處理數值數據、字符串、布爾值,和?期時間。這些單值類型被稱為標量類型,本書中稱其為標量。

dfd2cc800170d82b39451a1b14cf1c0f.png

python中的數據類型主要是int和float類型,int類型可以存儲任意大的數。float為浮點數

python中還有字符串,一般是放在' '中間,原始的字符串不能修改,可以通過把一個字符串賦值給另一個值進行修改,但不改變原始值。 可以通過list方法打開字符串,然后就可以進行相關操作了。 有些時候由于字符串中有一些雙斜杠,這個時候可以在字符串前面加一個r,表示字符串只是表示字符串本身。就不會出現轉義等情況了。 編碼和解碼 ,編碼使用encode ,解碼使用decode

a='hallo'
x=list(a)
x
# out:['h', 'a', 'l', 'l', 'o']
m=a.encode('utf-16')
m
# out:b'xffxfehx00ax00lx00lx00ox00'

布爾值,主要是true和false 類型轉換,可以轉換對象的類型,str(),bool(),float()等,可以轉成相關的str,bool,float類型 None 空值 時間函數 datetime

from datetime import datetime, date, time
dt = datetime(2020,1,4,20,00,12)#年月日時分秒
print(dt.date())
print(dt.time())
# out:2020-01-04
# out:20:00:12
dt.strftime('%m/%d/%Y %H:%M')
# out:'01/04/2020 20:00'

21aa173e79957b84de40c709745c6eeb.png

控制流: if 語句,主要包括:if ,elif,else for 循環 while語句 pass 語句 range循環:主要是迭代器

三元表達式

value = true-expr if condition else false-expr
# 等價于
if condition:value = true-expr
else:value = false-expr

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/374315.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/374315.shtml
英文地址,請注明出處:http://en.pswp.cn/news/374315.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在運行時交換出Spring Bean配置

如今,大多數Java開發人員都定期與Spring打交道,而我們當中的許多人已經熟悉了Spring的功能和局限性。 最近,我遇到了一個我從未遇到過的問題:引入了基于運行時引入的配置來重新連接Bean內部的功能。 這對于簡單的配置更改或交換掉…

Proximal Algorithms--Accelerated proximal gradient method

4.3 Accelerated proximal gradient method: 加速近端梯度方法: 基本的近端梯度方法的所謂的“加速”版本,就是在算法中包含了一個外推(extrapolation)步驟,一個簡單的版本是: yk1:xkωk(xk?xk?1)xk1:proxλkg(yk1?…

C語言代碼規范(七)#define

#define 宏定義的使用 #define MAX(x, y) ( ((x) > (y)) ? (x) : (y) ) #define MIN(x, y) ( ((x) < (y)) ? (x) : (y) ) 在宏定義中要把參數用括號擴起來( ((x) > (y)) ? (x) : (y) )。 因為宏只是簡單的文本替換&#xff0c;如果不注意&#xff0c;很容…

http 二進制_淺談HTTP協議

HTTP一、HTTP協議http協議&#xff0c;是超文本傳輸協議&#xff0c;此協議是基于TCP/IP的協議&#xff0c;是互聯網上應用最為廣泛的一直網絡協議是一種無狀態協議&#xff0c;默認端口為80,。設計HTTP的最初目的是為了提供一種發布和接受HTML頁面的方法。通過HTTP或者HTTPS協…

登陸注冊

登陸注冊&#xff0c;注冊的賬號存在服務器的數據庫里&#xff0c;成功了就給你返回成功&#xff0c;失敗了就返回失敗 有三種登陸方式&#xff1a;普通注冊&#xff0c;手機號注冊&#xff0c;第三方注冊轉載于:https://www.cnblogs.com/SensenCoder/p/4885606.html

Java并發教程–線程池

Java 1.5中提供的最通用的并發增強功能之一是引入了可自定義的線程池。 這些線程池使您可以對諸如線程數&#xff0c;線程重用&#xff0c;調度和線程構造之類的東西進行大量控制。 讓我們回顧一下。 首先&#xff0c;線程池。 讓我們直接進入java.util.concurrent.ExecutorSer…

HTTPPost/AFNetWorking/JSONModel/NSPredicate

一、HTTPPost 1. POST方式發送請求 HTTP協議下默認數據發送請求方法是GET方式&#xff0c;若需要使用POST方法&#xff0c;則需要對發送的請求也就是request對象&#xff0c;進行屬性設置。 步驟如下&#xff1a; > 要發送的請求對象&#xff0c;需要使用可變請求對象 [[NSM…

C語言代碼規范(八)使用const修飾值不允許改變的變量

使用const限定一個變量的值不允許被改變&#xff0c;從而保護被修飾的東西&#xff0c;防止意外&#xff0c;提高程序的可靠性和安全性。

教育小思

父母的時代是“攢錢&#xff0c;買房&#xff0c;生子&#xff0c;終老”&#xff0c;而現在的時代是“教育&#xff0c;創造&#xff0c;傳承&#xff0c;成長”。 改變世界&#xff0c;從教育起步。 傳統教育的不足之處&#xff1a; 1. 學習體驗不佳&#xff0c;學習者被迫…

linux redis客戶端_為什么單線程Redis能那么快?

我們通常說&#xff0c;Redis 是單線程&#xff0c;主要是指 Redis 的網絡 IO 和鍵值對讀寫是由一個線程來完成的&#xff0c;這也是 Redis 對外提供鍵值存儲服務的主要流程。但 Redis 的其他功能&#xff0c;比如持久化、異步刪除、集群數據同步等&#xff0c;其實是由額外的線…

servlet中文亂碼處理

servlet中文亂碼處理 如果是post設置req.setCharacterEncoding("utf-8");如果是get&#xff0c;不去修改服務器配置的情況下new String(name.getBytes("iso-8859-1"),"utf-8")數據庫亂碼?useUnicodetrue&characterEncodingUTF-8轉載于:http…

C語言開發筆記(七)const和指針

const修飾變量是常用的&#xff0c;不容易犯錯&#xff0c;而const和指針一起使用時很容易混淆。 (一)const int *p #include <stdio.h>int main(void) {int a 10;int b 20;const int *p &a;*p b;return 0; } const在int *的左側&#xff0c;即指針指向內容為…

從JavaFX 1.3遷移到JavaFX 2.0

幾天前&#xff0c;我完成了將Modellus的源代碼從JavaFX 1.3腳本遷移到JavaFX 2.0 Java語言的過程。 因此&#xff0c;我認為寫關于我在此過程中學到的知識會很好。 我想指出&#xff0c;如果您想繼續在JavaFX 2.0中使用JavaFX腳本&#xff0c;則可以使用Visage&#xff1a; ht…

九度OJ 1034:尋找大富翁 (排序)

時間限制&#xff1a;1 秒 內存限制&#xff1a;32 兆 特殊判題&#xff1a;否 提交&#xff1a;5925 解決&#xff1a;2375 題目描述&#xff1a;浙江桐鄉烏鎮共有n個人,請找出該鎮上的前m個大富翁.輸入&#xff1a;輸入包含多組測試用例.每個用例首先包含2個整數n&#xff08…

ubuntu php 無法執行exec_利用webhook使php項目自動部署

php中文網最新課程每日17點準時技術干貨分享1.先來講一下自動部署的原理&#xff0c;一般在我們push代碼的時候&#xff0c;可以自動請求webhook中設置的url&#xff0c;完成一次請求與響應。那么只要我們設置的url地址請求的php文件內容是執行命令行git push命令&#xff0c;則…

android-verticalseekbar——Android可視化SeekBar類庫

android-verticalseekbar——Android可視化SeekBar類庫轉載于:https://www.cnblogs.com/zhujiabin/p/5706246.html

C語言開發筆記(八)static

在C語言中&#xff0c;static有3個作用&#xff1a; &#xff08;1&#xff09;在函數體&#xff0c;一個被聲明為靜態的變量在這一函數體內被調用的過程中維持其值不變。 #include <stdio.h>void test(void) {static int i 0;printf("%d\n", i); }int main…

ppt修復無法讀取_移動硬盤故障分析以及建議修復方法

移動硬盤中存儲了大量的重要數據&#xff0c;一旦出現什么問題&#xff0c;會讓人急得焦頭爛額。換個硬盤倒是件小事&#xff0c;但其中資料、數據的丟失更令人懊惱。而在硬盤使用的過程中&#xff0c;由于使用者一時的不注意&#xff0c;往往就很容易造成意外的問題。接下來&a…

(原創)c#學習筆記04--流程控制01--布爾邏輯03--運算符優先級

轉載于:https://www.cnblogs.com/wodehao0808/p/4896018.html

一些定義–測試技術9

我認為我即將結束有關測試技術的博客系列&#xff0c;感覺好像已經過去了。 對我來說更清楚的一件事是&#xff0c;測試方法仍處于起步階段&#xff0c;因此是開發人員之間爭執或討論的明確來源&#xff0c;這是一件好事。 我懷疑我們正處于職業發展史上的某個時刻&#xff0c;…