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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用熊貓執(zhí)行以下任務(wù),該任務(wù)更快且不會發(fā)出警告“ SettingWithCopyWarning”

如何使用熊貓執(zhí)行以下任務(wù),該任務(wù)更快且不會發(fā)出警告“ SettingWithCopyWarning”

湖上湖 2021-03-31 10:15:21
我正在從數(shù)據(jù)訪問時間戳。如果多個時間戳具有相同的值,則更改它們。在這種情況下,如果兩個相同,則將2添加到第二個時間戳。如果三個相同,則將2加到第二,再將4加到第三,依此類推。我收到警告/anaconda/lib/python3.6/site-packages/ipykernel/ main .py:8:SettingWithCopyWarning:試圖在DataFrame的切片副本上設(shè)置一個值請參閱文檔中的警告:http : //pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy我的問題是:執(zhí)行任務(wù)花費的時間太長。我想知道是否有一些特定的方法可以在大熊貓中以更精確的方式執(zhí)行任務(wù)。請考慮我是熊貓新手。dftime =df.time for i in range (len(dftime)):    if i!=0:        if dftime[i]==dftime[i-1]:            dftime[i]=dftime[i]+2        if dftime[i]<dftime[i-1]:            dftime[i]=dftime[i-1]+2
查看完整描述

1 回答

?
紫衣仙女

TA貢獻1839條經(jīng)驗 獲得超15個贊

通常,永遠(yuǎn)不要使用該for i in range(len(collection))構(gòu)造來迭代Python中的集合,因為您可以簡單地使用for item in collection。


特別是在大熊貓中,您幾乎不必迭代序列,如果這樣做,則永遠(yuǎn)不要修改要迭代的對象。根據(jù)數(shù)據(jù)類型,迭代器可能會返回一個副本,對其進行寫入將無效。相反,您應(yīng)該選擇對整個陣列進行操作。


大熊貓重寫代碼的方法是


dftime = df.time

dftime[dftime == dftime.shift()] += 2

dftime[dftime < dftime.shift()] += 2


查看完整回答
反對 回復(fù) 2021-04-27
  • 1 回答
  • 0 關(guān)注
  • 187 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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