【发布时间】:2018-12-22 09:17:15
【问题描述】:
我正在尝试从 pandas 列中创建一个包含前 10 个值的向量,并将其作为单元格中的列表重新插入到 pandas 数据框中。
以下代码有效,但我需要为超过 3000 万行的数据帧执行此操作,因此循环执行此操作需要很长时间。
有人可以帮我将其转换为我可以应用的 numpy 函数吗?我还希望能够在 groupby 中应用此功能。
import pandas as pd
df = pd.DataFrame(list(range(1,20)),columns = ['A'])
df.insert(0,'Vector','')
df['Vector'] = df['Vector'].astype(object)
for index, row in df.iterrows():
df['Vector'].iloc[index] = list(df['A'].iloc[(index-10):index])
我尝试了多种方式,但都无法让它发挥作用。任何帮助将不胜感激。
【问题讨论】:
-
能否添加一个小样本数据框,并在操作执行后分享预期输出
-
前 3 行代码构建 df,for 循环创建输出
标签: python-3.x list pandas numpy apply