2 回答
TA贡献1820条经验 获得超2个赞
我认为最简单的是传递变量,例如:
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贡献1863条经验 获得超2个赞
两个循环(外部循环和内部循环)都是不必要的:n
并且i
从未使用过,并且您执行相同的操作 n*i 次,因此代码很慢。只需摆脱循环并简单地使用df[Columns] = Values
.
添加回答
举报