【发布时间】:2014-02-18 13:09:08
【问题描述】:
所以现在,如果我有多个列表,即x = [1,2,3]* 2 I get x as [1,2,3,1,2,3],但这不适用于 Pandas。
因此,如果我想复制 PANDAS DF,我必须将一列设为列表和多个:
col_x_duplicates = list(df['col_x'])*N
new_df = DataFrame(col_x_duplicates, columns=['col_x'])
然后对原始数据做一个join:
pd.merge(new_df, df, on='col_x', how='left')
这现在将 pandas DF 复制了 N 次,有没有更简单的方法?或者更快捷的方式?
【问题讨论】:
-
Numpy 的 repeat() 在这里可能有用(而且速度很快)。见stackoverflow.com/questions/1550130/…。
-
您希望输出列看起来像
[1,2,3,1,2,3]还是[1,1,2,2,3,3]?