第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在 Pandas DataFrame 中分配新列時(shí)出現(xiàn)令人費(fèi)解的 KeyError

在 Pandas DataFrame 中分配新列時(shí)出現(xiàn)令人費(fèi)解的 KeyError

梵蒂岡之花 2021-09-01 14:15:50
我正在做一些自然語言處理,我有一個(gè) MultiIndexed DataFrame 看起來像這樣(除了實(shí)際上大約有 3,000 行):                             Title                                              N-gramsPeriod  Date                                                                                                                     2015-01 2015-01-01 22:00:10  SIRF: Simultaneous Image Registration and Fusi...  [@SENTBEGIN paper, paper propose, propose nove...            2015-01-02 16:54:13  Generic construction of scale-invariantly coar...  [@SENTBEGIN encode, encode temporal, temporal ...        2015-01-04 00:07:00  Understanding Trajectory Behavior: A Motion Pa...  [@SENTBEGIN mining, mining underlie, underlie ...        2015-01-04 09:07:45  Hostile Intent Identification by Movement Patt...  [@SENTBEGIN the, the recent, recent year, year...        2015-01-04 14:35:58  A New Method for Signal and Image Analysis: Th...  [@SENTBEGIN brief, brief review, review provid...我想要做的是計(jì)算每個(gè) n-gram 在每個(gè)月出現(xiàn)的次數(shù)(因此是第一個(gè)索引,“Period”)。這樣做相當(dāng)簡(jiǎn)單,如果很耗時(shí)(并且因?yàn)椤癗-grams”列中的每個(gè)單元格都是一個(gè)列表,我不確定可以做多少來加速它)。我使用以下代碼創(chuàng)建了一個(gè)新的 DataFrame 來保存計(jì)數(shù):# Create the frequencies DataFrame.period_index = ngrams.index.unique(level = "Period")freqs = DataFrame(index = period_index)# Count the n-grams in each period.for period in period_index:    for ngrams_list in ngrams.loc[period, "N-grams"]:        for ngram in ngrams_list:            if not ngram in freqs.columns:                freqs[ngram] = 0            freqs.loc[period, ngram] += 1邏輯很簡(jiǎn)單:如果有問題的 n-gram 已經(jīng)被看到(在“freqs”中有一個(gè)列),將計(jì)數(shù)增加 1。如果沒有看到,創(chuàng)建一個(gè)新的 0 列對(duì)于那個(gè) n-gram,然后像往常一樣遞增。在絕大多數(shù)情況下,這工作正常,但對(duì)于一小部分 n-gram,當(dāng)循環(huán)遇到增量線時(shí),我會(huì)收到此錯(cuò)誤:KeyError: u'the label [7 85.40] is not in the [index]'(抱歉,缺少正確的堆棧跟蹤——我在 Zeppelin Notebook 中執(zhí)行此操作,而 Zeppelin 沒有提供正確的堆棧跟蹤。)更多的調(diào)試表明,在這些情況下,新列的創(chuàng)建會(huì)以靜默方式失?。ㄒ簿褪钦f,它不起作用,但也不會(huì)返回異常)??赡苤档米⒁獾氖?,在早期版本的代碼中,我使用“l(fā)oc”直接分配給新創(chuàng)建的列中的單元格,而不是先創(chuàng)建列,如下所示:if not ngram in freqs.columns:    freqs.loc[period, ngram] = 1我改變了這一點(diǎn),因?yàn)樗ㄟ^將那個(gè) n-gram 的 NaN 分配給所有其他時(shí)期引起了問題,但是直接分配阻塞在與新代碼完全相同的 n-gram 上。
查看完整描述

2 回答

  • 2 回答
  • 0 關(guān)注
  • 428 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)