Как вы сдвигаете каждую строку в кадре данных панд на конкретное значение? - PullRequest
0 голосов
/ 12 ноября 2018

Если у меня есть такой фрейм данных для панд:

 2  3   4  NaN NaN  NaN
 1 NaN NaN NaN NaN  NaN
 5  6   7   2   3   NaN
 4  3  NaN NaN NaN  NaN

и массив для числа, которое я хотел бы сдвинуть: массив = [2, 4, 0, 3]

Как перебрать каждую строку, чтобы сместить столбцы на число в моем массиве, чтобы получить что-то вроде этого:

 NaN  NaN   2   3   4   NaN
 NaN  NaN  NaN  NaN 1   NaN
  5    6    7   2   3   NaN
 NaN  NaN  NaN  3   4   NaN

Я пытался сделать что-то подобное, но безуспешно.

 df = pd.DataFrame(values)
 for rows in df.iterrows():
   df[rows] = df.shift[change_in_bins[rows]]

1 Ответ

0 голосов
/ 12 ноября 2018

Используется для цикла с loc и shift:

for index,value in enumerate([2, 4, 0, 3]):
    df.loc[index,:] = df.loc[index,:].shift(value)

print(df)
     0    1    2    3    4   5
0  NaN  NaN  2.0  3.0  4.0 NaN
1  NaN  NaN  NaN  NaN  1.0 NaN
2  5.0  6.0  7.0  2.0  3.0 NaN
3  NaN  NaN  NaN  4.0  3.0 NaN
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...