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

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

嵌套 for 循環(huán)的替代方案

嵌套 for 循環(huán)的替代方案

千萬里不及你 2023-07-11 10:50:53
我有一個 pandas df,其中一些列包含空白值。我有一個嵌套的 for 循環(huán),它通過從列表中提取這些值來填充這些列。給定列的所有行都獲得相同的值,這是正確的。這里的順序很重要,因?yàn)閏ol1需要值val1。import pandas as pddf = pd.DataFrame({"col1": ["", "", ""],                     "col2": ["", "", ""],                     "col3": ["Facebook, Instagram", "Facebook, Facebook", "Twitter"]})Columns = ['col1', 'col2'] #list of column names that the code should iterate overValues = ['val1', 'val2'] #list of values to be inserted in the given columnsfor n in Columns:    for i in df:        df[Columns] = Values輸出:    col1    col2    col30   val1    val2    Facebook, Instagram1   val1    val2    Facebook, Facebook2   val1    val2    Twitter我當(dāng)前的代碼可以工作,但處理大量數(shù)據(jù)時速度非常慢。我可以做什么來改善它?
查看完整描述

2 回答

?
DIEA

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

我認(rèn)為最簡單的是傳遞變量,例如:


df[Columns] = Values

print (df)

   col1  col2                 col3

0  val1  val2  Facebook, Instagram

1  val1  val2   Facebook, Facebook

2  val1  val2              Twitter

100k 行的性能:


df = pd.DataFrame({"col1": ["", "", ""],

                     "col2": ["", "", ""],

                     "col3": ["Facebook, Instagram", "Facebook, Facebook", "Twitter"]})


Columns = ['col1', 'col2'] #list of column names that the code should iterate over

Values = ['val1', 'val2'] #list of values to be inserted in the given columns


df = pd.concat([df] * 100000, ignore_index=True)



%timeit df[Columns] = Values

7.53 ms ± 40.9 μs per loop (mean ± std. dev. of 7 runs, 100 loops each)


查看完整回答
反對 回復(fù) 2023-07-11
?
小唯快跑啊

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

兩個循環(huán)(外部循環(huán)和內(nèi)部循環(huán))都是不必要的:n并且i從未使用過,并且您執(zhí)行相同的操作 n*i 次,因此代碼很慢。只需擺脫循環(huán)并簡單地使用df[Columns] = Values.



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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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