Python自動(dòng)化辦公指南-1

作為一個(gè)學(xué)習(xí)了很長(zhǎng)時(shí)間的Python的我來說,Python 他能干什么,其實(shí)在鋪天蓋地的廣告,已經(jīng)告訴你它能干什么了。但是我告訴你的是,你通過廣告接觸的python 速成小課,你學(xué)完它之后,你并不能處理任何工作上的問題.

Python的精髓在于:它有豐富的模塊庫(kù),我們的課程是重點(diǎn)拿爬蟲來講模塊庫(kù)的調(diào)用。就像一個(gè)app商店,全球開發(fā)者共同維護(hù),任何人都可以調(diào)用,學(xué)會(huì)模塊調(diào)用,才真正打開了python的大門。

編程在于積累,在于積累前輩們的代碼,以及去思考如何創(chuàng)新自己的代碼。?

其實(shí)大多數(shù)自動(dòng)化辦公的人,就是處理Excel 等數(shù)據(jù)。

處理Excel 用到的模塊這里我給大家總結(jié),希望大家不要走彎路

1、openpyxl??

其實(shí)大多數(shù)這兩個(gè)情況下就可以了。首先我們介紹的是openpyxl 它能對(duì)Excel 做什么。



2、Pandas??

pandas是一種快速,強(qiáng)大,靈活且易于使用的開源數(shù)據(jù)分析和處理工具,它

建立在Python編程語(yǔ)言之上。


案例1:租房數(shù)據(jù)案例分析

1、讀取Excel 中的租房數(shù)據(jù)

import pandas as pd

excel_path = 'E:\\Python_Office_Auto\\Day7\\house.xlsx'

houses = pd.read_excel(excel_path)

2、查看Excel中的數(shù)據(jù)有多少行,多少列

print(houses.shap)

# (9869行, 18列)


3、通過head打印出前5行數(shù)據(jù)

print(houses.head())

'''? ? ? ? 樓盤名稱??... ?????????????標(biāo)簽0 ???北京花園亮馬橋朝陽(yáng)公園南北四居燕莎友誼商城手慢無(wú)??... ???????采光好/南北通透1 ???????傳媒第二外國(guó)語(yǔ)學(xué)院南門旁三間房南里7號(hào)院兩居室??... ????????????NaN2 ?????????????榮尊堡多套兩居出租,車位充足,看房隨時(shí)??... ????????????NaN3 ?六號(hào)線黃渠柏林愛樂精裝一居家電齊全隨時(shí)看房包物業(yè)取暖??... ?首次出租/全裝全配/交通便利4 ??????朝庭104平兩居室精心裝修看房效果很好隨時(shí)起租??... ????????????NaN

'''

#說明:當(dāng)一個(gè)Excel 數(shù)據(jù),非常大的時(shí)候,你手動(dòng)打開一個(gè)Excel 文件去了解它,那是真的太難受了。打開巨大Excel表格都曉得。 如果你的列特別多,使用pandas查詢數(shù)據(jù)的時(shí)候,會(huì)默認(rèn)隱藏中間的列。

4、columns 來查詢列名。

print(houses.columns)

'''Index(['樓盤名稱', '租賃方式', '戶型', '面積', '朝向', '房租', '更新時(shí)間', '采集時(shí)間', '城市', '區(qū)域',???????'街道或片區(qū)', '地段', '地址', '公交站', '主圖鏈接', '樓盤詳情鏈接', '頁(yè)面網(wǎng)址', '標(biāo)簽'],??????dtype='object')'''


說明:我們可以很清晰看到Excel中每個(gè)列名的名字。然后我們就可以通過列名輕松加愉快的去訪問他們了。


也可以通過負(fù)索引,查詢出最后一列的名字

houses.columns[-1]# ?'標(biāo)簽'

5、篩選數(shù)據(jù),查看朝向中,朝北,朝南的數(shù)據(jù),并且只顯示列(樓盤名稱、面積)即可

houses.loc[houses.朝向.isin(['朝北', '朝南',]), ['樓盤名稱','面積']].head(5)

''' ?????????????????????????????樓盤名稱面積0 ???北京花園亮馬橋朝陽(yáng)公園南北四居燕莎友誼商城手慢無(wú)??268㎡1 ???????傳媒第二外國(guó)語(yǔ)學(xué)院南門旁三間房南里7號(hào)院兩居室???65㎡3 ?六號(hào)線黃渠柏林愛樂精裝一居家電齊全隨時(shí)看房包物業(yè)取暖???55㎡5 ??????????????????????周莊嘉園東里次臥出租???18㎡6 ??????????工體西里朝南精裝兩居三里屯朝陽(yáng)門東四十條???78㎡'''


通過篩選,一下子就能得到我們想要的數(shù)據(jù)。是不是非常簡(jiǎn)單,快來嘗試一下把。


數(shù)據(jù)可以添加我們的QQ學(xué)習(xí)交流群367203382,找群主獲取。

6、處理帶有字符串?dāng)?shù)字的錢

houses.房租.head()'

''0 ???35000元/月1 ????4300元/月2 ???15000元/月3 ????5500元/月4 ???13500元/月Name: 房租, dtype: object'''houses.房租= houses.房租.str.split('元',expand=True)[0].astype("int")houses.房租.head()'''0 ???350001 ????43002 ???150003 ????55004 ???13500Name: 房租, dtype: int32'''

說明:我們要統(tǒng)計(jì)金額最大的數(shù)字,帶有元/月的字符串是無(wú)法進(jìn)行統(tǒng)計(jì)的。

所以我們要把元/月給他過濾掉。 使用split函數(shù)即可。


如果后續(xù)有更加過濾話的需求,字符串的函數(shù)已經(jīng)無(wú)法滿足你,可以結(jié)合lambda函數(shù)來進(jìn)行過濾。可以達(dá)到同樣的效果。


houses.房租= houses.房租.apply(func = lambda x:int(x.split('元')[0]))


7、獲取房租最貴的前5行數(shù)據(jù)

df_max_5 = houses.sort_values('房租').tail(5)

樓盤名稱面積房租

2416后海 什剎海 恭王 府柳蔭街大型精裝四合院 帶車庫(kù) 接待會(huì)所 ?1000㎡ ??400000

5190后海什剎海精裝四合院 帶車庫(kù) 露臺(tái) 古香古色 ?1000㎡ ??416700

5136后海什剎海精裝四合院 帶車庫(kù) 露臺(tái) 古香古色 ?1000㎡ ??416700

5135西城區(qū)后海什剎海四合院專業(yè)接待商務(wù)會(huì)所四合院出租 ?2500㎡ ??625000

4467金融街 阜成門 西四 豪華型正規(guī)三進(jìn)四合院 ?6400㎡ ?1900000



說明我們使用sort_values函數(shù),讓我們的房租,先排好序。默認(rèn)是升序。就是

第一行最小,1,2,3,4. 。當(dāng)我們的價(jià)格按照小學(xué)生的身高一樣排好之后。身高最高的5位,

我們走到后排。從結(jié)尾開始數(shù)倒數(shù),獲取5個(gè)學(xué)生不就可以了嗎。道理就是這樣簡(jiǎn)單。

這里我們使用tail函數(shù),實(shí)現(xiàn)這樣的功能。、


因?yàn)槲覀冞@是真實(shí)數(shù)據(jù),可以看得出來,有錢人的生活我們是真的不懂。

1百九十萬(wàn) 每個(gè)月的四合院,有的人租下來可能就是單純?yōu)榱怂X。


8、獲取房租最便宜的前5行數(shù)據(jù)

df_min_5 = houses.sort_values('房租').head(5)

df_min_5.loc[:,['樓盤名稱','面積','房租']]

樓盤名稱面積房租

9616北京時(shí)代廣場(chǎng) 全新家電 家電齊全 正規(guī)居室 臥室南向 ?11㎡ ?1000

8660 ?????????????1000大開間,燕郊租房都可以聯(lián)系我 ?42㎡ ?1000

9617北京時(shí)代廣場(chǎng) 一客一鎖 精裝全齊 配套齊全 臥室南向 ?11㎡ ?1000

8701燕郊開發(fā)區(qū),燕順路,星河皓月 ?64㎡ ?1000

9188個(gè)人合租,無(wú)中介費(fèi),中介勿擾,傳銷勿擾,押一付一,次臥600 ?15㎡ ?1000


說明,如果想取出最便宜的房租,那我們直接使用head數(shù)據(jù),提取前5個(gè)數(shù)據(jù),就行了。

從這里看出來,最便宜的房租1千大洋每個(gè)月,最貴的房租1百90萬(wàn)大洋每個(gè)月。

從房子的價(jià)格就能看出來,離北京越遠(yuǎn)房租越便宜,離北京越近,房租還在1千的,房間小的已經(jīng)只能放得下一張床。 數(shù)據(jù)的真相就是讓人頭大。


9、統(tǒng)計(jì)每個(gè)區(qū)域發(fā)布了多少房租租賃信息

houses.區(qū)域.value_counts()?

# 返回區(qū)域關(guān)聯(lián)的數(shù)據(jù)行數(shù),默認(rèn)降序'''西城??????4996朝陽(yáng)??????2040北京周邊?????739密云???????712門頭溝??????680燕郊???????323旅游地產(chǎn)?????191延慶????????97懷柔????????86平谷?????????5Name: 區(qū)域, dtype: int64'''

說明:還有第二種方式,通過分組統(tǒng)計(jì)

houses.groupby('區(qū)域')[['房租']].count()

房租

區(qū)域

北京周邊739

密云712

平谷5

延慶97

懷柔86

旅游地產(chǎn)191

朝陽(yáng)2040

燕郊323

西城4996

門頭溝680

10、從數(shù)據(jù)里,篩選出房租大于28w的數(shù)據(jù)

houses.loc[houses.房租>=280000,['樓盤名稱','面積','房租']].head()

樓盤名稱面積房租

995樣板間設(shè)計(jì) 拎包入住+泳池+范思哲和芬迪家具 ?1500㎡ ?400000

2351后海什剎海四合院出租 ?1000㎡ ?300000

2381后海什剎海四合院出租 ?1000㎡ ?300000

2397后海什剎海四合院出租 ?1000㎡ ?300000

2416后海 什剎海 恭王 府柳蔭街大型精裝四合院 帶車庫(kù) 接待會(huì)所 ?1000㎡ ?400000

說明:通過loc來篩選數(shù)據(jù),也可以使用

houses[houses.房租>=280000].head()

可以通過len函數(shù)直接獲取 大于28w 的房租有多少個(gè)

len(houses[houses.房租>=280000])

# 68

房租大于28w每個(gè)月的房子往外出租的還真不多。

11、統(tǒng)計(jì)比較受歡迎的租金價(jià)格

# 統(tǒng)計(jì)租金出現(xiàn)的次數(shù)

hot_counts = houses.房租.value_counts()

# 統(tǒng)計(jì)某一個(gè)確定價(jià)格的租金出現(xiàn)超過1百50次的

top_counts = ?hot_counts[hot_counts >=150]print(top_counts)

'''1800 ????2578000 ????19212000 ???1847000 ????1821500 ????1766500 ????152Name: 房租, dtype: int64'''# 通過索引獲取1800 是最受歡迎的價(jià)格print(top_counts.index[0]) #輸出:1800

說明value_counts是個(gè)經(jīng)常使用的函數(shù),很方便的統(tǒng)計(jì)某一列中,某個(gè)數(shù)值出現(xiàn)了多少次。

我們可以統(tǒng)計(jì)出每個(gè)月1800的 房租,才是最受歡迎的,因?yàn)槲覀儺吘故亲畹讓拥拇蚬と恕?/p>


還有更多案例均在我們Python學(xué)習(xí)交流群:367203382

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 什剎海地鐵附近胡同里平房 優(yōu)勢(shì)1.處于老北京特色胡同環(huán)境古樸安靜,到晚上九/十點(diǎn)后安靜得不可思議(po個(gè)之前拍的照...
    NancyC閱讀 382評(píng)論 0 0
  • 孫先生去北京找同行聯(lián)絡(luò)感情,順便充當(dāng)一下人肉快遞機(jī),把文件從北京帶回山東。順便捎上了我這個(gè)大閑人。理由如下:把...
    公子麻朵閱讀 463評(píng)論 0 0
  • 夜鶯2517閱讀 128,210評(píng)論 1 9
  • 版本:ios 1.2.1 亮點(diǎn): 1.app角標(biāo)可以實(shí)時(shí)更新天氣溫度或選擇空氣質(zhì)量,建議處女座就不要選了,不然老想...
    我就是沉沉閱讀 7,505評(píng)論 1 6
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月,有人笑有人哭,有人歡樂有人憂愁,有人驚喜有人失落,有的覺得收獲滿滿有...
    陌忘宇閱讀 8,879評(píng)論 28 54

友情鏈接更多精彩內(nèi)容