Добавьте данные и заголовок в новый Dataframe и введите имя файла в столбец - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть датафрейм в следующем формате:

         fdate          flag     counter      values
0        2008-08-18     0        0            1119881.78
1        2008-08-18     0        1            1922320.74
2        2008-08-18     0        2            3559026.11
3        2008-08-18     0        3            3510447.61
4        2008-08-18     0        4            4873269.42
5        2008-08-18     0        5            5098557.55
6        2008-08-18     0        6            4610888.45
...
800      2008-08-18     0      999           -2177130.73

Я хотел бы расширить его с помощью пустых заголовков столбцов, как указано ниже. Каким-то образом я получаю двойные столбцы для fdate flag counter values. Как я могу удалить эти двойные столбцы? Использование следующего удаляет все столбцы, которые я добавил df.T.drop_duplicates().T.

Как добавить любое число, например, 20 в столбец Group1 для всего столбца.

Код выглядит следующим образом:

import pandas as pd

df = pd.read_csv('C:/File_Workers1_Office_01M.txt',sep=',')

df.columns = ['fdate', 'flag', 'counter', 'values']

print(df)

df_new = df.reindex(columns=[*df.columns.tolist(), 'mem1', 'mem2',  'name_file', 'Group1', 'meth', 'fdate', 'counter', 'values', 'timevalue', 'flag', 'config', 'country', 'value_date'], fill_value=0)

print(df_new)

1 Ответ

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

Чтобы добавить новый столбец, например Group1, в качестве столбца со всеми строками, имеющими значение 20, вы можете сделать это с помощью простого присваивания:

import pandas as pd

df = pd.DataFrame({'fdate': ['2008-08-18','2008-08-18','2008-08-18','2008-08-18'],
                'flag': [0, 0, 0, 0],
                'counter': [0, 1, 2, 3],
                'values': [103, 1422, 12312, 112]})

df['Group1'] = 20

Выход:

        fdate  flag  counter  values  Group1
0  2008-08-18     0        0     103      20
1  2008-08-18     0        1    1422      20
2  2008-08-18     0        2   12312      20
3  2008-08-18     0        3     112      20

Вы можете сделать то же самое для добавления пустого столбца, однако я не совсем уверен, цель назначения пустого столбца:

import numpy as np

df['Empty'] = np.nan

Выход:

        fdate  flag  counter  values  Group1  Empty
0  2008-08-18     0        0     103      20    NaN
1  2008-08-18     0        1    1422      20    NaN
2  2008-08-18     0        2   12312      20    NaN
3  2008-08-18     0        3     112      20    NaN
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...