《利用Python進(jìn)行數(shù)據(jù)分析》第7章 問(wèn)題思考

問(wèn)題

In [1]: import re
   ...: import pandas as pd
   ...: data = {
   ...:     'Dave': 'dave@google.com',
   ...:     'Steve': 'steve@gmail.com',
   ...:     'Rob': 'rob@gmail.com',
   ...:     'Wes': np.nan
   ...: }
   ...: data = pd.Series(data)
   ...: pattern = '([A-Z0-9._%+-]+)@([A-Z0-9.-]+)\\.([A-Z]{2,4})'
   ...: matches = data.str.match(pattern, flags=re.IGNORECASE)

In [2]: matches
Out[2]:
Dave     True
Steve    True
Rob      True
Wes       NaN
dtype: object

In [3]: matches.str.get(1)
Out[3]:
Dave    NaN
Steve   NaN
Rob     NaN
Wes     NaN
dtype: float64

In [4]: matches.str[0]
Out[4]:
Dave    NaN
Steve   NaN
Rob     NaN
Wes     NaN
dtype: float64

看到為什么matches已經(jīng)匹配到數(shù)據(jù)嫡霞,但是Out[3]Out[4]獲取數(shù)據(jù)的時(shí)候還是顯示NaN呢撰洗?

我的解題思路

  1. 首先荆陆,我做了一件事,先明白當(dāng)前是什么對(duì)象集侯,我們看到 matches 是一個(gè) pandas.core.series.Series 對(duì)象
In [5]: type(matches)
Out[5]: pandas.core.series.Series
  1. 然后被啼,Google搜索關(guān)鍵字 pandas series matche,瞬間拿到官網(wǎng)解釋的鏈接 pandas.Series.str.match 點(diǎn)擊跳轉(zhuǎn) 官方解釋:確定每個(gè)字符串是否與正則表達(dá)式匹配棠枉。這里很明顯是沒(méi)有問(wèn)題的浓体,在 Out[2] 的輸出中我們看到了匹配是正確的。

  2. 接著辈讶,Google搜索關(guān)鍵字 pandas series str get命浴,再次拿到官方文檔 pandas.Series.str.get 點(diǎn)擊跳轉(zhuǎn)。官方解釋:從指定位置的每個(gè)組件中提取元素贱除。這好像也沒(méi)有毛病生闲,但為什么 matches.str.get(1) Out[3] 和 matches.str[0] Out[4] 輸出是NaN呢?很神奇的一個(gè)問(wèn)題

  3. 最后月幌,我也比較粗心碍讯,沒(méi)注意看examples例子,后來(lái)才發(fā)現(xiàn) pandas.Series.str.get 點(diǎn)擊跳轉(zhuǎn) 有例子扯躺,我對(duì)例子進(jìn)行了補(bǔ)充捉兴,加入 TrueFalse

In [6]: s = pd.Series([
    ...:     "String",
    ...:     (1, 2, 3),
    ...:     ["a", "b", "c"],
    ...:     123,
    ...:     -456,
    ...:     { 1: "Hello", "2": "World" },
    ...:     True,
    ...:     False
    ...: ])

In [7]: type(s)     # 對(duì)比前面的In [5]录语,matches和現(xiàn)在的s是一樣的類型
Out[7]: pandas.core.series.Series

In [8]: s.str.get(1)
Out[8]:
0        t  # "String",
1        2  # (1, 2, 3),
2        b  # ["a", "b", "c"],
3      NaN  # 123, 不可迭代
4      NaN  # -456, 不可迭代
5    Hello  # { 1: "Hello", "2": "World" },
6      NaN  # True, 不可迭代
7      NaN  # False, 不可迭代
dtype: object

其實(shí)并非所有對(duì)象 在 pandas.Series.str.get 方法調(diào)用下都能獲取倍啥,必須是可迭代的對(duì)象才能獲取

結(jié)論

pandas.core.series.Series對(duì)象 如果想調(diào)用 pandas.Series.str.get方法獲取數(shù)據(jù),Series的數(shù)據(jù)必須是可迭代的(字符串澎埠,元組虽缕,列表,字典)

如果想了解更多Python面向?qū)ο笫г荩梢圆榭?我以前想的文章 Python入門 - 面向?qū)ο笏枷?小白入門詳解

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末彼宠,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子弟塞,更是在濱河造成了極大的恐慌凭峡,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件决记,死亡現(xiàn)場(chǎng)離奇詭異摧冀,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門索昂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)建车,“玉大人,你說(shuō)我怎么就攤上這事椒惨$椭粒” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵康谆,是天一觀的道長(zhǎng)领斥。 經(jīng)常有香客問(wèn)我,道長(zhǎng)沃暗,這世上最難降的妖魔是什么月洛? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮孽锥,結(jié)果婚禮上嚼黔,老公的妹妹穿的比我還像新娘。我一直安慰自己惜辑,他們只是感情好唬涧,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著韵丑,像睡著了一般爵卒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上撵彻,一...
    開(kāi)封第一講書(shū)人閱讀 51,763評(píng)論 1 307
  • 那天钓株,我揣著相機(jī)與錄音,去河邊找鬼陌僵。 笑死轴合,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的碗短。 我是一名探鬼主播受葛,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼偎谁!你這毒婦竟也來(lái)了总滩?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤巡雨,失蹤者是張志新(化名)和其女友劉穎闰渔,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體铐望,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡冈涧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年茂附,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片督弓。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡营曼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出愚隧,到底是詐尸還是另有隱情蒂阱,我是刑警寧澤,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布狂塘,位于F島的核電站蒜危,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏睹耐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一部翘、第九天 我趴在偏房一處隱蔽的房頂上張望硝训。 院中可真熱鬧,春花似錦新思、人聲如沸窖梁。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)纵刘。三九已至,卻和暖如春荸哟,著一層夾襖步出監(jiān)牢的瞬間假哎,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工鞍历, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留舵抹,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓劣砍,卻偏偏與公主長(zhǎng)得像惧蛹,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子刑枝,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355