2 回答

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)

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
.
添加回答
舉報