Как эффективно создать строки с помощью каждого набора из двух элементов данных? - PullRequest
0 голосов
/ 09 января 2019

Цель : взять пары из данных и создать новый помеченный кадр данных с соответствующими строками

data = [2618926, -1, 2955664, 2978, 2959058, -1, 3038766, 4470, 3044420, -1]

column = ['Date','Value']

Мне нужно создать фрейм данных из переменной «Данные» и отобразить в следующем формате:

Date        Value
2618926     -1
2955664     2978
2959058     -1
2028766     4470
3044420     -1

Ответы [ 2 ]

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

Накорми свой df словарем:

df= pd.DataFrame( {"Date":data[::2], "Value":data[1::2]} )

списка нарезано для каждого 2-го элемента, начиная с индекса 0 и 1.

Выход:

      Date  Value
0  2618926     -1
1  2955664   2978
2  2959058     -1
3  3038766   4470
4  3044420     -1
0 голосов
/ 09 января 2019

Я буду использовать мои любимые рецепты zip и iter:

it = iter(data)
pd.DataFrame(list(zip(it, it)), columns=column)
# Or, let pandas exhaust the iterator for you.
# pd.DataFrame.from_records(zip(it, it), columns=column)

      Date  Value
0  2618926     -1
1  2955664   2978
2  2959058     -1
3  3038766   4470
4  3044420     -1

zip(it, it) объединяет все альтернативные элементы.


Другая опция использует np.reshape:

pd.DataFrame(np.reshape(data, (-1, 2)), columns=column)

      Date  Value
0  2618926     -1
1  2955664   2978
2  2959058     -1
3  3038766   4470
4  3044420     -1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...