Как объединить строку в виде списка панд для использования с append PYTHON - PullRequest
0 голосов
/ 13 ноября 2018

Как вы можете добавить значение во многие списки с немного разными именами; Например. У меня есть список часов дня: [1,2,3 ...., 24], и у меня есть 24 столбца (таблицы), где, если час дня равен одному значению, значение должно быть одним и в каждом другом столбце это должно быть cero

`h1 = []
h2 = []
h3 = []
h4 = []
h5 = []
h6 = []
h7 = []
h8 = []
h9 = []
h10 = []
h11 = []
h12 = []
h13 = []
h14 = []
h15 = []
h16 = []
h17 = []
h18 = []
h19 = []
h20 = []
h21 = []
h22 = []
h23 = []
h24 = []
HourTable = []
Hour = 0
for i in range(0,len(dataset)):        
    Hour = Hora + 1
    HourTable.append(Hour)
    if Hour % 24 == 0:
        Hour = 0

` В основном я хочу что-то вроде

for h in range(0,len(dataset)):
if HourTable[h] == 1:
    h1.append(1)
    for hh in range(2,25):
        ('h'+str(hh)).append(0)  #THIS DOES NOT WORK

Где будет добавлено значение 0 к каждой таблице от 2 до 24.

Как можно обойтись и сделать это?

Спасибо!

Изменить; В конце концов я хочу создать базу данных с 24 столбцами, где каждый столбец состоит из одного «1», а остальные столбцы - «0»

.

Ответы [ 2 ]

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

Я вроде обошел это, то, что я сделал, было:

hours = {}
for i in range(1,25):
 hours["h"+str(i)] = []   
for n in range(0,len(dataset)):
 for qq in range(1,25):
     hours['h' + str(qq)].append(0)

hoursDF = pd.DataFrame.from_dict(hours)

for nn in range(0,len(dataset)):
 hoursDF['h'+str(HoraTable[nn]%25)][nn] = 1    
0 голосов
/ 13 ноября 2018

Просто пример, следующий за комментарием выше:

hours = {}
for i in range(1,25):
    hours["h"+str(i)] = []

for h in range(0,len(dataset)):
    if HourTable[h] == 1:
        hours["h1"].append(1)
        for hh in range(2,25):
            hours['h'+str(hh)].append(0) # This time it works!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...