pandas金融數(shù)據(jù)分析教程-part2

??上一部分介紹了pandas的基本概念,初步使用,以及一些簡單的畫圖工具怔锌,本節(jié)還是以A股數(shù)據(jù)為例程剥,繼續(xù)介紹pandas的用法。主要包括:

  • 合并兩個(gè)表:pandas.merge
  • 修改列名沐扳,索引名:DataFrame.rename

??首先還是通過tushare獲取所需的數(shù)據(jù)泥从,這次分別獲取A股的各只股票的所屬行業(yè)、概念沪摄、和地區(qū)躯嫉,分別得到3個(gè)DataFrame。

import tushare as ts
stock_industry = ts.get_industry_classified() # 所屬行業(yè)
stock_concept = ts.get_concept_classified()  # 所屬概念
stock_area = ts.get_area_classified() #所屬地區(qū)

??可以分別查看數(shù)據(jù)的頭3行杨拐。


行業(yè)_概念_地區(qū).png

??為了方便查詢和使用祈餐,下面將如上3個(gè)DataFrame合并為一個(gè),需要用到的是pandas.merge哄陶,如下是對(duì)merge函數(shù)中參數(shù)的詳細(xì)解釋帆阳。

  • left, right為需要合并的兩個(gè)DataFrame
  • 通過on參數(shù)指明按照哪一列進(jìn)行合并,如果這個(gè)列在兩個(gè)DataFrame中的列名不同屋吨,可以通過left_on, right_on分別進(jìn)行指定列名蜒谤。
  • how參數(shù)指明了合并的方式,可選的方式有{'left', 'right', 'outer', 'inner'}离赫,用法類似于SQL中的連接芭逝, 默認(rèn)是'inner',即取兩個(gè)DataFrame按合并字段的交集渊胸。'outer'即取并集旬盯,'left'即依據(jù)左側(cè)DataFrame中的'on'參數(shù)指定的字段來合并,'right'則反之。
import pandas as pd
pd.merge(
    left,  # 待合并的左側(cè)DataFrame
    right,  # 待合并的右側(cè)DataFrame
    # 此字段指明合并的方式胖翰,可選的方式有{'left', 'right', 'outer', 'inner'}
    how='inner', 
    # 此字段指明1列或多列接剩,上面left、right按照此字段相同的行來進(jìn)行合并萨咳。
    on=None, 
    left_on=None, 
    right_on=None, 
    left_index=False, 
    right_index=False, 
    # 將合并后的結(jié)果按照合并依據(jù)的字段排序懊缺,即on指定的字段。
    sort=False, 
    # 如果上述left培他、right中的其他字段有重名的鹃两,按照這個(gè)后綴加以區(qū)分。
    suffixes=('_x', '_y'), 
    # 默認(rèn)為False舀凛,即在不必要情況下不進(jìn)行原始數(shù)據(jù)的拷貝俊扳。
    copy=True, 
    indicator=False, 
    # 檢查合并的方式,是1對(duì)多還是多對(duì)多
    validate=None)

??然后對(duì)上面的行業(yè)猛遍、概念馋记、地區(qū)進(jìn)行兩兩合并,依據(jù)的是它們的code列懊烤。

# 首先將行業(yè)和概念進(jìn)行合并
tmp = pd.merge(
    stock_industry, 
    stock_concept[['code','c_name']], # 選取原df的指定列來參與合并
    on='code',  # 合并依據(jù)列名
    how='outer') # 取并集
tmp1 = pd.merge(
    tmp, 
    stock_area[['code','area']], 
    on='code', 
    how='outer')

??合并之后的DataFrame分別如下:


行業(yè)_概念_地區(qū)_合并.png

??可以看到梯醒,合并后的DataFrame中,列名是c_name_x腌紧、c_name_y茸习,為了方便使用,需要將列名修改為帶有實(shí)際意義的詞寄啼,下面介紹修改索引名逮光、列名的函數(shù)DataFrame.rename

  • axis參數(shù)值為'index'時(shí)表示修改索引名,為'column'時(shí)表示修改列名名墩划,和mapper參數(shù)同時(shí)生效

  • mapper涕刚、indexcolumn:傳入一個(gè)字典乙帮,用于修改索引名或列名杜漠,字典的key是原名稱,value是修改后的名稱察净,或者傳入一個(gè)函數(shù)驾茴,函數(shù)作用于每一個(gè)舊的的名稱(mapper情況下,行或列由axis值決定)氢卡,函數(shù)返回值為新的名稱锈至。

  • mapperaxis一起使用時(shí),等價(jià)于單獨(dú)用indexcolumn參數(shù)

DataFrame.rename(
    mapper=None, 
    index=None, 
    columns=None, 
    axis=None,
    copy=True, # 將潛在指向的數(shù)據(jù)也進(jìn)行了修改
    inplace=False, # 修改是否在原DataFrame上生效
    level=None # 在多重所以的情況下用于指定索引的級(jí)別
)

??在這里译秦,我們要將上面的列名進(jìn)行修改峡捡,只需要傳入{'c_name_x':'industry','c_name_y':'concept'}這個(gè)字典到column參數(shù)即可击碗。

stocks = tmp1.rename(
    columns={'c_name_x': 'industry','c_name_y': 'concept'}
)
stocks.to_csv('股票所屬行業(yè)_概念_地區(qū).csv') #保存數(shù)據(jù)到本地csv文件
行業(yè)_概念_地區(qū)_合并1.png

轉(zhuǎn)載請(qǐng)注明文章來源

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市们拙,隨后出現(xiàn)的幾起案子稍途,更是在濱河造成了極大的恐慌,老刑警劉巖砚婆,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件械拍,死亡現(xiàn)場離奇詭異,居然都是意外死亡装盯,警方通過查閱死者的電腦和手機(jī)坷虑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來验夯,“玉大人猖吴,你說我怎么就攤上這事』幼” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵共屈,是天一觀的道長绑谣。 經(jīng)常有香客問我,道長拗引,這世上最難降的妖魔是什么借宵? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮矾削,結(jié)果婚禮上壤玫,老公的妹妹穿的比我還像新娘。我一直安慰自己哼凯,他們只是感情好欲间,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著断部,像睡著了一般猎贴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蝴光,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天她渴,我揣著相機(jī)與錄音,去河邊找鬼蔑祟。 笑死趁耗,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的疆虚。 我是一名探鬼主播苛败,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼满葛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了著拭?” 一聲冷哼從身側(cè)響起纱扭,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎儡遮,沒想到半個(gè)月后乳蛾,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鄙币,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年肃叶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片十嘿。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡因惭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出绩衷,到底是詐尸還是另有隱情蹦魔,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布咳燕,位于F島的核電站勿决,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏招盲。R本人自食惡果不足惜低缩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望曹货。 院中可真熱鬧咆繁,春花似錦、人聲如沸顶籽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蜕衡。三九已至壤短,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間慨仿,已是汗流浹背久脯。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留镰吆,地道東北人帘撰。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像万皿,于是被迫代替她去往敵國和親摧找。 傳聞我的和親對(duì)象是個(gè)殘疾皇子核行,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

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