我有一个生成的随机代理的DataFrame。但是,我想扩展它们以匹配我要寻找的人口,因此根据我的采样索引,我需要重复行。
这是一个永远占用的循环代码:
df = pd.DataFrame({'a': [0, 1, 2]})
sampled_indexes = [0, 0, 1, 1, 2, 2, 2]
new_df = pd.DataFrame(columns=['a'])
for i, idx in enumerate(sampled_indexes):
new_df.loc[i] = df.loc[idx]
然后,原始的DataFrame:
df
a
0 0
1 1
2 2
给了我扩大的新数据框的结果
new_df
a
0 0
1 0
2 1
3 1
4 2
5 2
6 2
因此,对于具有34,000或更多行(永远需要)的DataFrame,此循环太慢。
我该如何做得更简单,更快?
使用sampled_indexes
重新索引数据框,然后重置索引。
df.reindex(sampled_indexes).reset_index(drop=True)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句