Создать новый столбец в качестве счетчика Pandas DataFrame - PullRequest
2 голосов
/ 04 марта 2020

У меня есть Pandas DataFrame. Как мне создать новый столбец, который будет похож на счетчик Pandas DataFrame, потому что я уже сделал свой индекс Datatime.

Например, следующий код воспроизводится на вашем локальном P C:

import datetime
import numpy

dates = [
    datetime.date(2019, 1, 13),
    datetime.date(2020, 5, 11),
    datetime.date(2018, 7, 24),
    datetime.date(2019, 3, 23),
    datetime.date(2020, 2, 16)
]

data = {
    "a": [13.3,12.3,np.nan,10.3,np.nan],
    "b": [1,0,0,1,1],
    "c": ["no","yes","no","","yes"]
}

pd.DataFrame(index=dates,data=data)

Сейчас я хотел бы добавить новый столбец в качестве счетчика. Что-то вроде 1,2,3,4,5 до конца данных

Ответы [ 2 ]

1 голос
/ 05 марта 2020

Вы можете построить Серию, используя df.index и применить к ней некоторую обработку, прежде чем назначить ее столбцу кадра данных.

Здесь мы можем использовать:

df['count'] = pd.Series(1, index=df.index()).cumsum()

Здесь это было бы гораздо менее эффективно (более чем на 1 порядок), чем df['count'] = np.arange(1, 1 + len(df)), который напрямую создает массив numpy с ожидаемыми значениями, но это может быть полезно в более сложных случаях использования.

1 голос
/ 04 марта 2020
df['count'] = range(1, len(df) + 1)

len(df) возвращает количество строк в DataFrame, поэтому вы можете вызвать встроенную функцию range, чтобы создать диапазон от 1 до количества строк в DataFrame, а затем присвоить его новый столбец. При назначении диапазона столбцу он автоматически преобразуется в серию pandas.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...