Выровняйте положение столбца и соответствующие значения в python - PullRequest
1 голос
/ 16 апреля 2020

Исходный формат данных говорит, что строка 1 (1:20 3:25 5:24 9:20).

Я пытаюсь преобразовать исходный набор данных в кадр данных, используя python pandas или любым другим способом в python. Я разделил исходный набор данных на два списка атрибутов образца списка и список Sample_value.

sample_attribute
[[1,3,5,9],[3,5,7,10],[1,4,8,10]]
sample_value
[[20,25,24,20],[16,20,24,21],[12,20,24,17]

The perspective data frame should look like

Column: 1  2  3  4  5  6 7  8  9  10 
row 1:  20 0  25 0  24 0 0  0  20  0
row 2:  0  0  16 0  20 0 24 0  0  21
row 3:  12 0  0  20  0 0  0 24 0  17

1 Ответ

1 голос
/ 16 апреля 2020

Ваша структура данных напоминает словарь. Вы можете преобразовать его в словарь Python, а затем использовать pandas встроенный метод from_dict:

import pandas as pd    

sample_attribute = [[1,3,5,9],[3,5,7,10],[1,4,8,10]]
sample_value = [[20,25,24,20],[16,20,24,21],[12,20,24,17]]

# store sample in list of dictionaries
sample = [dict(zip(keys, values)) for keys, values in zip(sample_attribute,sample_value)]

# create dataframe
df = pd.DataFrame(sample)

# add columns without values
df = df.reindex(range(df.columns.min(),df.columns.max()+1),axis=1)

# replace NAN with zero
df = df.fillna(0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...