Python: Pandas

pip install xlrd 可以用來(lái)讀取excel


import pandas as pd

import datetime

import matplotlib

import matplotlib.pyplot as plt

import os? ? ? #os 適用于windows的路徑镊尺,包括路徑拼接等



cur_dir = os.path.dirname(__file__)

# __file__? 為當(dāng)前.py file 的位置


df = pd.read_csv(os.path.join(cur_dir,"employees.csv"))

#print(cur_dir)

#print(df)

#

# cur_dir is C:/Users/T596494/FZPython/Insideout2_dist

# os.path.join(cur_dir,"employees.csv") is C:/Users/T596494/FZPython/Insideout2_dist\employees.csv

# it can automatically add \

# when print df, it will print the file details

# df will show up the whole document's details - "employees.csv"

print(df.shape)

# shape will show the number of rows and columns of the data. - (1000, 4) 1000 rows, 4 columns 不含title的數(shù)據(jù)行數(shù)

# print(df.dtypes)

# dtypes check each columns' data type

# employee_id? ? ? ? int64

# annual_inc? ? ? ? float64

# employee_title? ? object

# home_ownership? ? object

# dtype: object

print(df.columns)

# Index(['employee_id', 'annual_inc', 'employee_title', 'home_ownership'], dtype='object')

# show each columns' title


print(df.head())

#df.head() 可以顯示前面幾行的數(shù)據(jù)互躬,如果在括號(hào)里面輸入3,print(df.head(3)) 則顯示三行數(shù)據(jù)(包括title則為4行)


print(df.sample(10))

#隨機(jī)顯示10行數(shù)據(jù)蕊肥,若不寫(xiě),則只顯示1行


print(df.tail(5))

#顯示最后5行的數(shù)據(jù)


#把title為annual_inc的列儲(chǔ)存到annual_incs的變量中债蜜。annual_incs的屬性同df? ? ?

#Thisis known as a Series.

annual_incs = df['annual_inc']

print(annual_incs)

print(type(annual_incs))

print(annual_incs.head())

print(annual_incs.shape)


#將第二行的數(shù)據(jù)存到row_2晴埂,并且將相應(yīng)數(shù)據(jù)顯示出來(lái)

row_2 = df.iloc[1]

print(row_2)

emp_id = row_2['employee_id']

emp_title = row_2['employee_title']

print('The employee with ID {emp_id} has the job title {emp_title}.' .format(emp_id = emp_id,emp_title = emp_title))


#篩選

Filtering by ONE condition, numeric

To perform filtering by numeric values, first check the column is a numeric column (int64 or float64).

Then use the following formula to do so:

df[df['column_name']<conditional operator><value>]

#篩選 df中年收入大于 300000的所有行

print(df[df['annual_inc'] >=300000])


#對(duì)字符串類型的數(shù)據(jù)的篩選

#選出所有home_ownership 是OWN的數(shù)據(jù)

print(df[df['home_ownership'] =='OWN'].head())

#選出所有employee_title 是‘Accountant'或者'Sales'的數(shù)據(jù)

print(df[df['employee_title'].isin(['Accountant','Sales'])])


#多條件篩選

#選出employee_title 是President, 并且annual_inc 超過(guò)225000的數(shù)據(jù)

print(df[ (df['employee_title'] =='President') & (df['annual_inc'] >=225000)])


#選出employee_title是Sales寻定, 并且annual_inc 超過(guò)100000 或者小于 80000

print(df[(df['employee_title']=='Sales') & ((df['annual_inc']>=100000) | (df['annual_inc']<=80000))])


#保存儒洛,用df的id對(duì)df2的id做vlookup,并且保存到output.csv

df2 = pd.read_csv(os.path.join(cur_dir,"employees2.csv"))

output = df[df['employee_id'].isin(df2['employee_id'])]

output.to_csv("output.csv",index=False)



#顯示文件的信息

print(df.info())



#Draw graph with matplotlib

df.groupby('home_ownership')['home_ownership'].value_counts().unstack().plot(kind='bar',figsize=(10,5))

plt.show()










?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末狼速,一起剝皮案震驚了整個(gè)濱河市琅锻,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌向胡,老刑警劉巖恼蓬,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異僵芹,居然都是意外死亡处硬,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)拇派,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)荷辕,“玉大人,你說(shuō)我怎么就攤上這事件豌〈剑” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵茧彤,是天一觀的道長(zhǎng)骡显。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么惫谤? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任壁顶,我火速辦了婚禮,結(jié)果婚禮上溜歪,老公的妹妹穿的比我還像新娘博助。我一直安慰自己,他們只是感情好痹愚,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布富岳。 她就那樣靜靜地躺著,像睡著了一般拯腮。 火紅的嫁衣襯著肌膚如雪窖式。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,829評(píng)論 1 290
  • 那天动壤,我揣著相機(jī)與錄音萝喘,去河邊找鬼。 笑死琼懊,一個(gè)胖子當(dāng)著我的面吹牛阁簸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播哼丈,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼启妹,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了醉旦?” 一聲冷哼從身側(cè)響起饶米,我...
    開(kāi)封第一講書(shū)人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎车胡,沒(méi)想到半個(gè)月后檬输,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡匈棘,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年丧慈,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片主卫。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡逃默,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出队秩,到底是詐尸還是另有隱情笑旺,我是刑警寧澤昼浦,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布馍资,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏鸟蟹。R本人自食惡果不足惜乌妙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望建钥。 院中可真熱鬧藤韵,春花似錦、人聲如沸熊经。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)镐依。三九已至匹涮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間槐壳,已是汗流浹背然低。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留务唐,地道東北人雳攘。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像枫笛,于是被迫代替她去往敵國(guó)和親吨灭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349