Панды Заполните столбец с датой - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь заполнить столбец DataFrame (весь столбец) статической датой, но это должна быть переменная.Я могу заполнить цифры, используя numpy, но не могу указать дату для столбца:

currdate = ['3/31/2018'] #this is what I need filled in
missing = ['GREEN', 'YELLOW', 'RED', 'BLUE', 'PINK']

Раздел 1:

A = ({'PERIOD DT':                     pd.to_datetime(currdate),
           'TEAM':                              missing,
           'REGION':                            ['NA'],
           'SECTOR':                            ['OTHER'],
           'REVENUE':                           [0]})

Может кто-нибудь объяснить, почемукод не заполняется в каждом соответствующем столбце?Для каждого столбца, за исключением «КОМАНДЫ», значения заполняют только первую строку данных в DataFrame.

DF = pd.DataFrame.from_dict(A, orient='index')
DF= DF.transpose()

Раздел 2:

zeroVal = [0]
n = len(DF)
DF['SECTOR'] = 'OTHER'
DF['REGION'] = 'NA'
DF.loc[:,'REVENUE'] = np.zeros(n)

Я пытался использоватьниже, чтобы заполнить 'currdate', который я использую в столбце 'PERIOD DT', но я не могу заставить его работать:

DF['PERIOD DT'] = pd.to_datetime(currdate)

Не сообщая каждому столбцу, что делать в разделе 2, яполучить следующий вывод: я хотел бы, чтобы все значения в столбцах были одинаковыми, заполненными в каждом столбце, за исключением КОМАНДЫ, которую я заполнял с помощью переменной, ссылающейся на список

    PERIOD DT    TEAM    REGION    SECTOR    REVENUE
0   2018-03-31   GREEN   NA        OTHER     0.00
1       NONE     YELLOW  NONE      NONE      NONE
2       NONE     RED     NONE      NONE      NONE
3       NONE     BLUE    NONE      NONE      NONE
4       NONE     PINK    NONE      NONE      NONE

Мое предназначенноевывод:

    PERIOD DT    TEAM    REGION    SECTOR    REVENUE
0   2018-03-31   GREEN   NA        OTHER     0.00
1   2018-03-31   YELLOW  NA        OTHER     0.00
2   2018-03-31   RED     NA        OTHER     0.00
3   2018-03-31   BLUE    NA        OTHER     0.00
4   2018-03-31   PINK    NA        OTHER     0.00

Вопросы: 1, почему я не могу получить переменную / DF 'A', чтобы заполнить каждый столбец на основе предоставленной мной информации, и 2, как мне вручную заполнить дату (через переменную) вниз по столбцу 'PERIOD DT'?

1 Ответ

0 голосов
/ 07 июня 2018

Ваш список missing имеет 5 элементов, в то время как другие списки имеют только 1. Все списки в dict, которые вы передаете для данных, должны иметь одинаковое количество элементов.Рассмотрим следующий подход.

A = pd.DataFrame({'PERIOD DT': list(pd.to_datetime(currdate)) * len(missing),
           'TEAM': missing,
           'REGION': ['NA']* len(missing),
           'SECTOR': ['OTHER'] * len(missing),
           'REVENUE': [0] * len(missing)
})

Вывод:

PERIOD DT   TEAM    REGION  SECTOR  REVENUE
0   3/31/2018   GREEN   NA  OTHER   0
1   3/31/2018   YELLOW  NA  OTHER   0
2   3/31/2018   RED NA  OTHER   0
3   3/31/2018   BLUE    NA  OTHER   0
4   3/31/2018   PINK    NA  OTHER   0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...