欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

python函數(shù)判斷空值 Python 判斷為空

python none和null的區(qū)別

Python中的None與 NULL(即空字符)的區(qū)別

成都創(chuàng)新互聯(lián)是專業(yè)的淮上網(wǎng)站建設(shè)公司,淮上接單;提供成都網(wǎng)站建設(shè)、做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行淮上網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

1、是不同的一種數(shù)據(jù)類型

表示該值是一個(gè)空對象,空值是Python里一個(gè)特殊的值,用None表示。None不能理解為0,因?yàn)?是有意義的,而None是一個(gè)特殊的空值。

你可以將None賦值給任何變量,也可以將任何變量賦值給一個(gè)None值得對象

2、判斷的時(shí)候 均是False

3、屬性不同

使用dir()函數(shù)返回參數(shù)的屬性、方法列表。如果參數(shù)包含方法dir(),該方法將被調(diào)用。如果參數(shù)不包含dir(),該方法將最大限度地收集參數(shù)信息。

python中如何將表中的數(shù)據(jù)做成一張表,然后再從中取出數(shù)據(jù)?

第一部分是生成數(shù)據(jù)表,常見的生成方法有兩種,第一種是導(dǎo)入外部數(shù)據(jù),第二種是直接寫入數(shù)據(jù)。 Excel 中的文件菜單中提供了獲取外部數(shù)據(jù)的功能,支持?jǐn)?shù)據(jù)庫和文本文件和頁面的多種數(shù)據(jù)源導(dǎo)入。

獲取外部數(shù)據(jù)

python 支持從多種類型的數(shù)據(jù)導(dǎo)入。在開始使用 python 進(jìn)行數(shù)據(jù)導(dǎo)入前需要先導(dǎo)入 pandas 庫,為了方便起見,我們也同時(shí)導(dǎo)入 numpy 庫。

1 import numpy as np

2 import pandas as pd

導(dǎo)入數(shù)據(jù)表

下面分別是從 excel 和 csv 格式文件導(dǎo)入數(shù)據(jù)并創(chuàng)建數(shù)據(jù)表的方法。代碼是最簡模式,里面有很多可選參數(shù)設(shè)置,例如列名稱,索引列,數(shù)據(jù)格式等等。感興趣的朋友可以參考 pandas 的

官方文檔。

1 df=pd.DataFrame(pd.read_csv(‘name.csv’,header=1))

2 df=pd.DataFrame(pd.read_excel(‘name.xlsx’))

創(chuàng)建數(shù)據(jù)表

另一種方法是通過直接寫入數(shù)據(jù)來生成數(shù)據(jù)表,excel 中直接在單元格中輸入數(shù)據(jù)就可以,python 中通過下面的代碼來實(shí)現(xiàn)。生成數(shù)據(jù)表的函數(shù)是 pandas 庫中的 DateFrame 函數(shù),數(shù)據(jù)表一共有 6 行數(shù)據(jù),每行有 6 個(gè)字段。在數(shù)據(jù)中我們特意設(shè)置了一些 NA 值和有問題的字段,例如包含空格等。后面將在數(shù)據(jù)清洗步驟進(jìn)行處理。后面我們將統(tǒng)一以 DataFrame 的簡稱 df 來命名數(shù)據(jù)表。

1 df = pd.DataFrame({‘id’:[1001,1002,1003,1004,1005,1006],

2 ‘date’:pd.date_range(‘20130102’, periods=6),

3 ‘city’:['Beijing ', ‘SH’, ’ guangzhou ', ‘Shenzhen’, ‘shanghai’, 'BEIJING '],

4 ‘a(chǎn)ge’:[23,44,54,32,34,32],

5 ‘category’:[‘100-A’,‘100-B’,‘110-A’,‘110-C’,‘210-A’,‘130-F’],

6 ‘price’:[1200,np.nan,2133,5433,np.nan,4432]},

7 columns =[‘id’,‘date’,‘city’,‘category’,‘a(chǎn)ge’,‘price’])

這是剛剛創(chuàng)建的數(shù)據(jù)表,我們沒有設(shè)置索引列,price 字段中包含有 NA 值,city 字段中還包含了一些臟數(shù)據(jù)。

數(shù)據(jù)表檢查

python 中處理的數(shù)據(jù)量通常會(huì)比較大,所以就需要我們對數(shù)據(jù)表進(jìn)行檢查。比如我們之前的文章中介紹的紐約出租車數(shù)據(jù)和 Citibike 的騎行數(shù)據(jù),數(shù)據(jù)量都在千萬級,我們無法一目了然的了解數(shù)據(jù)表的整體情況,必須要通過一些方法來獲得數(shù)據(jù)表的關(guān)鍵信息。數(shù)據(jù)表檢查的另一個(gè)目的是了解數(shù)據(jù)的概況,例如整個(gè)數(shù)據(jù)表的大小,所占空間,數(shù)據(jù)格式,是否有空值和重復(fù)項(xiàng)和具體的數(shù)據(jù)內(nèi)容。為后面的清洗和預(yù)處理做好準(zhǔn)備。

數(shù)據(jù)維度(行列)

Excel 中可以通過 CTRL 向下的光標(biāo)鍵,和 CTRL 向右的光標(biāo)鍵來查看行號和列號。Python 中使用 shape 函數(shù)來查看數(shù)據(jù)表的維度,也就是行數(shù)和列數(shù),函數(shù)返回的結(jié)果(6,6)表示數(shù)據(jù)表有 6 行,6 列。下面是具體的代碼。

1 #查看數(shù)據(jù)表的維度

2 df.shape

3 (6, 6)

數(shù)據(jù)表信息

使用 info 函數(shù)查看數(shù)據(jù)表的整體信息,這里返回的信息比較多,包括數(shù)據(jù)維度,列名稱,數(shù)據(jù)格式和所占空間等信息。

1 #數(shù)據(jù)表信息

2 df.info()

4 class ‘pandas.core.frame.DataFrame’

5 RangeIndex: 6 entries, 0 to 5

6 Data columns (total 6 columns):

7 id 6 non-null int64

8 date 6 non-null datetime64[ns]

9 city 6 non-null object

10 category 6 non-null object

11 age 6 non-null int64

12 price 4 non-null float64

13 dtypes: datetime64ns, float64(1), int64(2), object(2)

14 memory usage: 368.0 bytes

查看數(shù)據(jù)格式

Excel 中通過選中單元格并查看開始菜單中的數(shù)值類型來判斷數(shù)據(jù)的格式。Python 中使用 dtypes 函數(shù)來返回?cái)?shù)據(jù)格式。

Dtypes 是一個(gè)查看數(shù)據(jù)格式的函數(shù),可以一次性查看數(shù)據(jù)表中所有數(shù)據(jù)的格式,也可以指定一列來單獨(dú)查看。

1#查看數(shù)據(jù)表各列格式

2df.dtypes

3

4id int64

5date datetime64[ns]

6city object

7category object

8age int64

9price float64

10dtype: object

11

12#查看單列格式

13df[‘B’].dtype

14

15dtype(‘int64’)

查看空值

Excel 中查看空值的方法是使用“定位條件”功能對數(shù)據(jù)表中的空值進(jìn)行定位。“定位條件”在“開始”目錄下的“查找和選擇”目錄中。

Isnull 是 Python 中檢驗(yàn)空值的函數(shù),返回的結(jié)果是邏輯值,包含空值返回 True,不包含則返回 False。可以對整個(gè)數(shù)據(jù)表進(jìn)行檢查,也可以單獨(dú)對某一列進(jìn)行空值檢查。

df_isnull

1#檢查特定列空值

2df[‘price’].isnull()

3

40 False

51 True

62 False

73 False

84 True

95 False

10Name: price, dtype: bool

查看唯一值

Excel 中查看唯一值的方法是使用“條件格式”對唯一值進(jìn)行顏色標(biāo)記。Python 中使用 unique 函數(shù)查看唯一值。

Unique 是查看唯一值的函數(shù),只能對數(shù)據(jù)表中的特定列進(jìn)行檢查。下面是代碼,返回的結(jié)果是該列中的唯一值。類似與 Excel 中刪除重復(fù)項(xiàng)后的結(jié)果。

1 #查看 city 列中的唯一值

2 df[‘city’].unique()34array(['Beijing ', ‘SH’, ’ guangzhou ', ‘Shenzhen’, ‘shanghai’, 'BEIJING '], dtype=object)

查看數(shù)據(jù)表數(shù)值

Python 中的 Values 函數(shù)用來查看數(shù)據(jù)表中的數(shù)值。以數(shù)組的形式返回,不包含表頭信息。

1#查看數(shù)據(jù)表的值

2df.values

3

4array([[1001, Timestamp(‘2013-01-02 00:00:00’), 'Beijing ', ‘100-A’, 23,

5 1200.0],

6 [1002, Timestamp(‘2013-01-03 00:00:00’), ‘SH’, ‘100-B’, 44, nan],

7 [1003, Timestamp(‘2013-01-04 00:00:00’), ’ guangzhou ', ‘110-A’, 54,

8 2133.0],

9 [1004, Timestamp(‘2013-01-05 00:00:00’), ‘Shenzhen’, ‘110-C’, 32,

10 5433.0],

11 [1005, Timestamp(‘2013-01-06 00:00:00’), ‘shanghai’, ‘210-A’, 34,

12 nan],

13 [1006, Timestamp(‘2013-01-07 00:00:00’), 'BEIJING ', ‘130-F’, 32,

14 4432.0]], dtype=object)

查看列名稱

Colums 函數(shù)用來單獨(dú)查看數(shù)據(jù)表中的列名稱。

1 #查看列名稱

2 df.columns

3

4 Index([‘id’, ‘date’, ‘city’, ‘category’, ‘a(chǎn)ge’, ‘price’], dtype=‘object’)

查看前 10 行數(shù)據(jù)

Head 函數(shù)用來查看數(shù)據(jù)表中的前 N 行數(shù)據(jù),默認(rèn) head()顯示前 10 行數(shù)據(jù),可以自己設(shè)置參數(shù)值來確定查看的行數(shù)。下面的代碼中設(shè)置查看前 3 行的數(shù)據(jù)。

1#查看前 3 行數(shù)據(jù)``df.head(``3``)

Tail 行數(shù)與 head 函數(shù)相反,用來查看數(shù)據(jù)表中后 N 行的數(shù)據(jù),默認(rèn) tail()顯示后 10 行數(shù)據(jù),可以自己設(shè)置參數(shù)值來確定查看的行數(shù)。下面的代碼中設(shè)置查看后 3 行的數(shù)據(jù)。

1#查看最后 3 行df.tail(3)

python檢查是否有缺失值

統(tǒng)計(jì)data里每一列是否有空值:

data.isnull().any()

統(tǒng)計(jì)data里每一列空值的個(gè)數(shù):

data.isnull().any().sum()

但是有的時(shí)候,明明有空值卻統(tǒng)計(jì)不出來。

最近我遇到的數(shù)據(jù),空值的填充是null,這個(gè)需要轉(zhuǎn)化一下才可以用上面的函數(shù)。

data?=?data.replace('null',np.NaN)

然后你再繼續(xù)用data.isnull().any(),ata.isnull().any().sum()就沒問題了。

如果這么做,你的問題還沒解決,查看你的缺失值的填充是什么,用np.NaN替代。、

另外的方法:

np.any(np.isnan(data))

np.all(np.isfinite(data))

如何判斷python函數(shù)返回的是否是空

可以直接把函數(shù)放到if后面當(dāng)作條件,如果為空的話判斷結(jié)果是false,例如:

def?test():

return?None

if?test():

print?True

else:

print?False

python怎么判斷讀取的是空行

空行一般指的是只有空白字符的行,或者是空字符串的行。即僅包含空格,\t(制表符),\n(換行符)。

python中字符串有個(gè)函數(shù)是strip()即刪除頭尾的特定字符的函數(shù),當(dāng)不傳參數(shù)是表示為刪除空白字符。因此可以用這個(gè)函數(shù)對字符串使用,當(dāng)刪除空白字符后是空字符串,那么這行就是空行。代碼如下。

astr='\t\n\t\n'

print(astr)

if astr.strip()=='':

print('this is a blank string')不明白可追問。

像Excel一樣使用Python(一)

在進(jìn)行數(shù)據(jù)處理時(shí),如果數(shù)據(jù)簡單,數(shù)量不多,excel是大家的首選。但是當(dāng)數(shù)據(jù)眾多,類型復(fù)雜,需要靈活地顯示切片、進(jìn)行索引、以及排序時(shí),python會(huì)更加方便。借助python中的numpy和pandas庫,它能快速完成各種任務(wù),包括數(shù)據(jù)的創(chuàng)建、檢查、清洗、預(yù)處理、提取、篩選、匯總、統(tǒng)計(jì)等。接下來幾篇文章,將以excel為參照,介紹python中數(shù)據(jù)的處理。

提到pandas,那就不得不提兩類重要的數(shù)據(jù)結(jié)構(gòu),Series和DataFrame,這兩類數(shù)據(jù)結(jié)構(gòu)都是建立在numpy的數(shù)組array基礎(chǔ)上。與array相比,Series是一個(gè)一維的數(shù)據(jù)集,但是每個(gè)數(shù)據(jù)元素都帶有一個(gè)索引,有點(diǎn)類似于字典。而DataFrame在數(shù)組的基礎(chǔ)上,增加了行索引和列索引,類似于Series的字典,或者說是一個(gè)列表集。

所以在數(shù)據(jù)處理前,要安裝好numpy , pandas。接下來就看看如何完成一套完整的數(shù)據(jù)操作。

創(chuàng)建數(shù)據(jù)表的方法分兩種,分別是從外部導(dǎo)入數(shù)據(jù),以及直接寫入數(shù)據(jù)。

在python中,也可外部導(dǎo)入xlsx格式文件,使用read_excel()函數(shù):

import pandas as pd

from pandas import DataFrame,Series

data=DataFrame(pd.read_excel('c:/python27/test.xlsx'))

print data

輸出:

Gene Size Function

0 arx1 411 NaN

1 arx2 550 monooxygenase

2 arx3 405 aminotransferase

……

即:調(diào)用pandas中read_excel屬性,來讀取文件test.xlsx,并轉(zhuǎn)換成DataFrame格式,賦給變量data。在每一行后,自動(dòng)分了一個(gè)索引值。除了excel,還支持以下格式文件的導(dǎo)入和寫入:

Python寫入的方法有很多,但還是不如excel方便。常用的例如使用相等長度的字典或numpy數(shù)組來創(chuàng)建:

data1 = DataFrame(

{'Gene':['arx1','arx2','arx3'],

'Size':[411,550,405],

'Func':[np.NaN,'monooxygenase','aminotransferase ']})

print data1

輸出

Func Gene Size

0 NaN arx1 411

1 monooxyg arx2 550

2 amino arx3 405

分配一個(gè)行索引后,自動(dòng)排序并輸出。

在python中,可以使用info()函數(shù)查看整個(gè)數(shù)據(jù)的詳細(xì)信息。

print data.info()

輸出

RangeIndex: 7 entries, 0 to 6

Data columns (total 3 columns):

Gene 7 non-null object

Size 7 non-null int64

Function 5 non-null object

dtypes: int64(1), object(2)

memory usage: 240.0+ bytes

None

此外,還可以通過shape, column, index, values, dtypes等函數(shù)來查看數(shù)據(jù)維度、行列組成、所有的值、 數(shù)據(jù)類型:

print data1.shape

print data1.index

print data1.columns

print data1.dtypes

輸出

(3, 3)

RangeIndex(start=0, stop=3, step=1)

Index([u'Func', u'Gene', u'Size'], dtype='object')

Func object

Gene object

Size int64

dtype: object

在excel中可以按“F5”,在“定位條件”中選擇“空值”,選中后,輸入替換信息,再按“Ctrl+Enter”即可完成替換。

在python中,使用函數(shù) isnull 和 notnull 來檢測數(shù)據(jù)丟失, 包含空值返回True,不包含則返回False。

pd.isnull(data1)

pd.notnull(data1)

也可以使用函數(shù)的實(shí)例方法,以及加入?yún)?shù),對某一列進(jìn)行檢查:

print data1['Func'].isnull()

輸出

Func Gene Size

0 True False False

1 False False False

2 False False False

再使用fillna對空值進(jìn)行填充:

data.fillna(value=0)

#用0來填充空值

data['Size'].fillna(data1['Size'].mean())

#用data1中Size列的平均值來填充空值

data['Func']=data['Func'].map(str.strip)

#清理Func列中存在的空格

Excel中可以按“Ctrl+F”,可調(diào)出替換對話框,替換相應(yīng)數(shù)據(jù)。

Python中,使用replace函數(shù)替換:

data['Func'].replace('monooxygenase', 'oxidase')

將Func列中的'monooxygenase'替換成'oxidase'。

Excel中,通過“數(shù)據(jù)-篩選-高級”可以選擇性地看某一列的唯一值。

Python中,使用unique函數(shù)查看:

print data['Func'].unique()

輸出

[nan u'monooxygenase' u'aminotransferase' u'methyltransferase']

Excel中,通過UPPER、LOWER、PROPER等函數(shù)來變成大寫、小寫、首字母大寫。

Python中也有同名函數(shù):

data1['Gene'].str.lower()

Excel中可以通過“數(shù)據(jù)-刪除重復(fù)項(xiàng)”來去除重復(fù)值。

Python中,可以通過drop_duplicates函數(shù)刪除重復(fù)值:

print data['Func'].drop_duplicates()

輸出

0 NaN

1 monooxygenase

2 aminotransferase

3 methyltransferase

Name: Func, dtype: object

還可以設(shè)置“ keep=’last’ ”參數(shù),后出現(xiàn)的被保留,先出現(xiàn)的被刪除:

print data['Func'].drop_duplicates(keep='last')

輸出

2 aminotransferase

3 methyltransferase

6 monooxygenase

8 NaN

Name: Func, dtype: object

內(nèi)容參考:

Python For Data Analysis

藍(lán)鯨網(wǎng)站分析博客,作者藍(lán)鯨(王彥平)

網(wǎng)頁標(biāo)題:python函數(shù)判斷空值 Python 判斷為空
網(wǎng)頁路徑:http://chinadenli.net/article32/highsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作微信小程序網(wǎng)站設(shè)計(jì)公司企業(yè)建站App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)