2024-06-01 04:53:11 发布
网友
我知道两种向pandas数据框添加新列的方法
df_new = df.assign(new_column=default_value)
以及
df[new_column] = default_value
第一个不添加列,但第二个添加列。那么,哪一个更有效?
除了这两种方法,还有比这更有效的方法吗?
我认为第二个,^{}如果想要链接所有函数的好代码-一行代码:
df = pd.DataFrame({'A':np.random.rand(10000)}) default_value = 10 In [114]: %timeit df_new = df.assign(new_column=default_value) 228 µs ± 4.26 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each) In [115]: %timeit df['new_column'] = default_value 86.1 µs ± 654 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)
我使用perfplot绘制:
import perfplot default_value = 10 def chained(df): df = df.assign(new_column=default_value) return df def no_chained(df): df['new_column'] = default_value return df def make_df(n): df = pd.DataFrame({'A':np.random.rand(n)}) return df perfplot.show( setup=make_df, kernels=[chained, no_chained], n_range=[2**k for k in range(2, 25)], logx=True, logy=True, equality_check=False, xlabel='len(df)')
我认为第二个,^{} 如果想要链接所有函数的好代码-一行代码:
我使用perfplot绘制:
相关问题 更多 >
编程相关推荐