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

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

使用列表根據(jù)不同的列值更改多個(gè)布爾列的值

使用列表根據(jù)不同的列值更改多個(gè)布爾列的值

躍然一笑 2023-10-18 21:29:34
有一個(gè)值列表weather = ['cloudy', 'sunny']我有一個(gè)帶有舊列“天氣”的數(shù)據(jù)框。我們切換到 2 個(gè)帶有布爾值的新列,因此需要考慮所有舊列。現(xiàn)在這是我的數(shù)據(jù)框:[In]data = [['cloudy', False, False], ['sunny', False, False]]df = pd.DataFrame(data, columns=['old', 'cloudbool', 'sunbool'])df[Out]     old  cloudbool sunbool0   cloudy  False   False1   sunny   False   False期望的輸出:[In]data = [['cloudy', True, False], ['sunny', False, True]]df = pd.DataFrame(data, columns=['old', 'cloudbool', 'sunbool'])[Out]    old   cloudbool sunbool0   cloudy  True    False1   sunny   False   True我知道我可以做類似下面的事情,但我有一個(gè)“天氣類型”列表,比 2 長得多。df.loc[df['old'] == 'cloudy', ['cloudbool']] = True我希望我正確地傳達(dá)了這一點(diǎn)。謝謝
查看完整描述

2 回答

?
largeQ

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

讓我們嘗試str.get_dummies創(chuàng)建虛擬指標(biāo)變量,然后join使用原始數(shù)據(jù)幀:

df[['old']].join(df['old'].str.get_dummies().astype(bool).add_suffix('bool'))

? ? ? old? cloudybool? sunnybool

0? cloudy? ? ? ? True? ? ? False

1? ?sunny? ? ? ?False? ? ? ?True


查看完整回答
反對 回復(fù) 2023-10-18
?
SMILET

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

我知道該get_dummies方法是為此構(gòu)建的,但另一種方法是從列表理解創(chuàng)建一系列,將列中的天氣值old與bool列名稱進(jìn)行比較(假設(shè)它們已經(jīng)存在,如您的示例中所示)。然后,將其隱藏到列表中,準(zhǔn)備將其添加到數(shù)據(jù)框中。

您的名稱沒有直接匹配,因此我省略了最后兩個(gè)字符,例如cloudywill beclou和sunnywill be sun。我認(rèn)為任何天氣的后綴都不可能超過 2 個(gè)字符?這也是為什么它不像get_dummies. 您還可以使列名稱與您的值匹配,例如cloudybool和sunnybool:

s = df.apply(lambda x: [x['old'][:-2] in col for col in df.columns[1:]], axis=1).to_list()

df1 = pd.concat([df['old'],pd.DataFrame(s, columns=df.columns[1:])], axis=1)

df1

Out[1]: 

      old  cloudbool  sunbool

0  cloudy       True    False

1   sunny      False     True


查看完整回答
反對 回復(fù) 2023-10-18
  • 2 回答
  • 0 關(guān)注
  • 140 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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