【问题标题】:Creating list of lists in a loop在循环中创建列表列表
【发布时间】:2019-06-19 20:34:34
【问题描述】:

我正在尝试从 2 个数据帧 df3 和 df4 在 for 循环中创建一个列表列表

df3 = pd.DataFrame(np.random.randn(100, 4), columns=list('ABCD'))
df4 = pd.DataFrame(np.random.randn(100, 2), columns=list('EF'))

l=[]
for i in range(len(df3)-2):
    s=df3[i:i+2].values.tolist()
    s.append(df4.iloc[i+2,1]) #this is what one element looks like and works
    l.append(s) 

我得到的输出是

[[[[[[[[[''],
    [[[-1.6901730393462748,
       0.9398299757220133,
       0.5402878560205543,
       -0.2355701586445652],
      …..  2.300820924304919]]

我正在寻找的输出是

[[[[-1.6901730393462748,
       0.9398299757220133,
       0.5402878560205543,
       -0.2355701586445652],
      [1.789968968313937,
       0.3792557248306339,
       0.5701432920348918,
       1.3781227005819763]],
     1.087047297584572]],
   [[[1.789968968313937,
      0.3792557248306339,
      0.5701432920348918,
      1.3781227005819763], 
and so on.]]]]

我还没有找到适用的线程,如果有,请指出正确的方向。

【问题讨论】:

    标签: python list loops for-loop append


    【解决方案1】:

    我只是在这里修复你的代码,你的代码有很多问题,例如,for循环应该使用range而不是int,而ix将不再工作我正在使用iloc替换它和list 应该使用append

    l=[]
    for i in range(len(df3)-2):
        s=df3[i:i+2].values.tolist()
        s.append(df4.iloc[i+2,1]) #this is what one element looks like and works
        l.append(s) # this is intended to create a list of all the elements
    

    【讨论】:

    • 是的,干杯,我已经在其他地方定义了范围,但它没有进入原始帖子。
    猜你喜欢
    • 2020-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多