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

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

復(fù)制和替換 Pandas 單元格值

復(fù)制和替換 Pandas 單元格值

達(dá)令說 2023-06-06 16:17:53
是否可以在 Pandas 列中獲取給定值并將其更改為前一行值?例如,我有這個(gè)數(shù)據(jù)框:Date        Price   Signal2018-01-01  13380.00    12018-01-02  14675.11    02018-01-03  14919.51    02018-01-04  15059.54    02018-01-05  16960.39    02018-01-06  17069.79    -12018-01-07  16150.03    02018-01-08  14902.54    02018-01-09  14400.00    12018-01-10  14907.09    02018-01-11  13238.78    02018-01-12  13740.01    -12018-01-13  14210.00    0我想將信號(hào)列中的零替換為 1 或 -1。最終的DF應(yīng)該是這樣的:Date        Price   Signal2018-01-01  13380.00    12018-01-02  14675.11    12018-01-03  14919.51    12018-01-04  15059.54    12018-01-05  16960.39    12018-01-06  17069.79    -12018-01-07  16150.03    -12018-01-08  14902.54    -12018-01-09  14400.00    12018-01-10  14907.09    12018-01-11  13238.78    12018-01-12  13740.01    -12018-01-13  14210.00    -1
查看完整描述

3 回答

?
慕的地8271018

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

嘗試這個(gè):

df['Signal'].replace(to_replace=0, method='ffill')

(假設(shè)你的 DataFrame 被稱為 df)


查看完整回答
反對(duì) 回復(fù) 2023-06-06
?
MM們

TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個(gè)贊

import?pandas?as?pd

準(zhǔn)備數(shù)據(jù)框

如果你有一個(gè)數(shù)據(jù)框:

df?=?pd.DataFrame([1,0,1,0,1],?columns=['col1'])

http://img3.sycdn.imooc.com/647eebce00018d9600740162.jpg

使用純 apply()

你可以做:

def?replace(num):?
???if?num==1:?return?1
????if?num==0:?return?-1

然后將其應(yīng)用于包含要替換的值的列:

df['new']=df['col1'].apply(replace)

apply() lambda 函數(shù)

您可以使用lambda 函數(shù)實(shí)現(xiàn)相同的目的:

df['col1'].apply(lambda?row:?1?if?row?==?1?else?-1)

使用內(nèi)置方法

使用我們準(zhǔn)備的數(shù)據(jù)框,可以做:

df['new']?=?df['col1'].replace(to_replace=0,?value=-1)

如果您不想創(chuàng)建新列,只需直接替換現(xiàn)有列中的值,就地進(jìn)行即可:

df['col1'].replace(to_replace=0,?value=-1,inplace=True)

清理

如果創(chuàng)建了一個(gè)列并且不想保留列,可以將其刪除:

df.drop('col1',axis=1)


查看完整回答
反對(duì) 回復(fù) 2023-06-06
?
白板的微信

TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個(gè)贊

如果您想要將以前的值傳播到下一行,請(qǐng)使用以下命令:

df["Signal"] = df["Signal"].ffill()


查看完整回答
反對(duì) 回復(fù) 2023-06-06
  • 3 回答
  • 0 關(guān)注
  • 241 瀏覽
慕課專欄
更多

添加回答

舉報(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)