鏈家數(shù)據(jù)分析一--數(shù)據(jù)離散化處理

關(guān)于
學(xué)習(xí)日月光華老師的《Python數(shù)據(jù)分析從入門(mén)到機(jī)器學(xué)習(xí)》梢褐,通過(guò)寫(xiě)該文來(lái)鞏固數(shù)據(jù)分析中使用的知識(shí)點(diǎn)彻犁。
主要是針對(duì)鏈家的數(shù)據(jù)進(jìn)行各個(gè)不同方向的分析钉汗,本文是第一篇,針對(duì)數(shù)據(jù)中各個(gè)房源成交單價(jià)的分析阶冈。
準(zhǔn)備
工具 :Anaconda润绵、juyter notebook
類(lèi)庫(kù):numpy捌治、pandas岗钩、matplotlib
分析及代碼實(shí)現(xiàn)
想要進(jìn)行數(shù)據(jù)分析,首先肯定是要讀入整個(gè)的數(shù)據(jù)肖油,由于整個(gè)數(shù)據(jù)有有個(gè).csv文件,如下圖

image.png

data_list = []
for i in range(1, 8):
    try:
        data = pd.read_csv('C:\\Users\\nash.wan\\Desktop\\lianjia\\lianjia{}.csv'.format(i), encoding='gbk')
    except:
        data = pd.read_csv('C:\\Users\\nash.wan\\Desktop\\lianjia\\lianjia{}.csv'.format(i))
    finally:
        data_list.append(data)

由于有7個(gè)文件兼吓,通過(guò)一個(gè)循環(huán)來(lái)讀入,然后放到定義的data_list中去构韵,由于每個(gè)文件夾的編碼方式不一致周蹭,我們通過(guò)try...except...finally來(lái)實(shí)現(xiàn)讀取,代碼如上面疲恢。
? ? 涉及知識(shí)點(diǎn):pandas.read_csv()讀取csv文件的數(shù)據(jù)
把所有的數(shù)據(jù)放到list中后凶朗,下面就就行多表合并,取出list中的數(shù)據(jù)合并成一個(gè)DataFrame中去显拳,并且賦值給data如下:

data = pd.concat(data_list)

查看合并后的表格式棚愤,如下:

image.png
? ? 涉及知識(shí)點(diǎn):
???concat多表合并
??? ? pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False,keys=None, ? ? levels=None, names=None, verify_integrity=False)
??? ? 1.objs: series,dataframe或者是panel構(gòu)成的序列l(wèi)sit
??? ? 2.axis: 需要合并鏈接的軸杂数,0是行宛畦,1是列
??? ? 3.join:連接的方式 inner,或者outer

然后取出cjdanjia一列的數(shù)據(jù)揍移,并且對(duì)其進(jìn)行數(shù)據(jù)清洗

dj = data.cjdanjia.dropna() #取出cjdanjia一列的數(shù)據(jù)次和,并且清洗掉數(shù)據(jù)中NaN值
dj = dj.map(lambda x: round(float(x.split('元')[0])/10000, 1)) #清洗掉單價(jià)后面的元/平,得到以萬(wàn)元為單位的float類(lèi)型的Series 
dj = dj[dj > 0] #清洗掉數(shù)據(jù)中為0的數(shù)據(jù)

結(jié)果如下圖:

image.png
? ? 涉及知識(shí)點(diǎn):
??? ?a.DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
???? ?1.how值為any或者all.all僅在切片元素全為NA時(shí)才拋棄該行(列)那伐,默認(rèn)為any
???? ?2.thresh=3 那么一行當(dāng)中至少有三個(gè)非NA值時(shí)才將其保留
???? b.map() 是一個(gè)Series的函數(shù)踏施,DataFrame結(jié)構(gòu)中沒(méi)有map()。map()將一個(gè)自定義函數(shù)應(yīng)用于Series結(jié)構(gòu)中的每個(gè)元素(elements)罕邀。

經(jīng)過(guò)數(shù)據(jù)清洗后畅形,得到了單價(jià)的有效Series,下面對(duì)該Series離散處理

bins = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 16] #定義數(shù)據(jù)離散的區(qū)間
pd.cut(dj, bins).value_counts() #得出每個(gè)區(qū)間的數(shù)量

處理后的結(jié)果如下:

image.png

? ? 涉及知識(shí)點(diǎn):
? ? ?pandas快速定義分類(lèi)
???? ?pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False, duplicates='raise')
???? ?x:必須是一維數(shù)組
???? ?bins: 即不同的面元(就是不同的范圍)接受三種類(lèi)型的輸入 整數(shù)诉探,序列(比如數(shù)組)和IntervalIndex---輸入整數(shù)日熬,進(jìn)行平均分成整數(shù)等份
???? ?right:最后一個(gè)bins是否包含最右邊的數(shù)據(jù),默認(rèn)為T(mén)rue(為左開(kāi)右閉)
? ? ?value_counts()
? ? ??計(jì)算數(shù)據(jù)出現(xiàn)的頻率

數(shù)據(jù)進(jìn)行離散化肾胯,通過(guò)pandas的繪圖函數(shù)plot()進(jìn)行直方圖繪圖

zongjia.plot.barh(figsize = (10, 8)) #進(jìn)行直方圖繪圖

? ? 涉及知識(shí)點(diǎn):
? ? ?Series.plot方法的函數(shù):
? ? ??label:用于圖例的標(biāo)簽
? ? ??ax:要在其上進(jìn)行繪制的matplotlib subplot對(duì)象竖席。如果沒(méi)有設(shè)置耘纱,則使用當(dāng)前matplotlib subplot
? ? ??style:將要傳給matplotlib的風(fēng)格字符串(for example: ‘ko–’)
? ? ??alpha:圖表的填充不透明(0-1)
? ? ??kind:可以是’line’, ‘bar’, ‘barh’, ‘kde’
? ? ??logy:在Y軸上使用對(duì)數(shù)標(biāo)尺
? ? ??use_index:將對(duì)象的索引用作刻度標(biāo)簽
? ? ??rot:旋轉(zhuǎn)刻度標(biāo)簽(0-360)
? ? ??xticks:用作X軸刻度的值
? ? ??yticks:用作Y軸刻度的值
? ? ??xlim:X軸的界限
? ? ??ylim:Y軸的界限
? ? ??grid:顯示軸網(wǎng)格線
? ? ??figsize:表示圖像大小的元組
直方圖展示如下:

image.png

總結(jié)
到目前為止,對(duì)單價(jià)的分析到此為止毕荐,通過(guò)直方圖能夠直觀的展示北京地區(qū)各板塊的成交房源單價(jià)區(qū)間揣炕。
未完,后面陸續(xù)寫(xiě)會(huì)針對(duì)其他的方向?qū)︽溂覕?shù)據(jù)進(jìn)行分析东跪。

? ? 如果對(duì)您有點(diǎn)幫助的話畸陡,麻煩您給點(diǎn)個(gè)贊,謝謝虽填。

鏈家數(shù)據(jù)分析二-數(shù)據(jù)分組處理:鏈家數(shù)據(jù)分析二-數(shù)據(jù)分組處理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末丁恭,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子斋日,更是在濱河造成了極大的恐慌牲览,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,681評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恶守,死亡現(xiàn)場(chǎng)離奇詭異第献,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)兔港,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)庸毫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人衫樊,你說(shuō)我怎么就攤上這事飒赃。” “怎么了科侈?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,421評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵载佳,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我臀栈,道長(zhǎng)蔫慧,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,114評(píng)論 1 300
  • 正文 為了忘掉前任权薯,我火速辦了婚禮姑躲,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘崭闲。我一直安慰自己肋联,他們只是感情好威蕉,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,116評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布刁俭。 她就那樣靜靜地躺著,像睡著了一般韧涨。 火紅的嫁衣襯著肌膚如雪牍戚。 梳的紋絲不亂的頭發(fā)上侮繁,一...
    開(kāi)封第一講書(shū)人閱讀 52,713評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音如孝,去河邊找鬼宪哩。 笑死,一個(gè)胖子當(dāng)著我的面吹牛第晰,可吹牛的內(nèi)容都是我干的锁孟。 我是一名探鬼主播,決...
    沈念sama閱讀 41,170評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼茁瘦,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼品抽!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起甜熔,我...
    開(kāi)封第一講書(shū)人閱讀 40,116評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤圆恤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后腔稀,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體盆昙,經(jīng)...
    沈念sama閱讀 46,651評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,714評(píng)論 3 342
  • 正文 我和宋清朗相戀三年焊虏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了淡喜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,865評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡诵闭,死狀恐怖拆火,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情涂圆,我是刑警寧澤们镜,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站润歉,受9級(jí)特大地震影響模狭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜踩衩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,211評(píng)論 3 336
  • 文/蒙蒙 一嚼鹉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧驱富,春花似錦锚赤、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,699評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春浑侥,著一層夾襖步出監(jiān)牢的瞬間姊舵,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,814評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工寓落, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留括丁,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,299評(píng)論 3 379
  • 正文 我出身青樓伶选,卻偏偏與公主長(zhǎng)得像史飞,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子仰税,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,870評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容