Создание списка списков в цикле - PullRequest
0 голосов
/ 26 января 2019

Я пытаюсь создать списки списков в цикле for из 2-х фреймов данных df3 и df4

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]]

Вывод I 'я ищу

[[[[-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.]]]]

Я не нашел подходящей темы, если она есть, пожалуйста, укажите мне правильное направление.

1 Ответ

0 голосов
/ 26 января 2019

Я только исправляю ваш код здесь, у вас много проблем в вашем коде, например, цикл должен работать с range, а не int, и ix больше не будет работать. Я использую iloc replace он и 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
...