Добавление строк в указанный c столбец - PullRequest
1 голос
/ 18 июня 2020

У меня есть фрейм данных-

    DATE        CITY_NAME     WEEK_NUM
0   2019-12-01  Bangalore       48
1   2019-12-01  Delhi           48
2   2019-12-02  Bangalore       49
3   2019-12-02  Delhi           49

Теперь я хочу добавить новый столбец в фрейм данных и добавить строку в новый столбец в al oop. Я сделал это -

R1['Hi']=0

for a,b in zip(R1['DATE'],R1['CITY_NAME']):
    R1['Hi'].loc[-1]=random.randrange(10)

Я использую здесь значение по умолчанию 5, но я использую, но его отображение -

      DATE       CITY_NAME  WEEK_NUM    Hi
0   2019-12-01  Bangalore   48          0
1   2019-12-01  Delhi       48          0
2   2019-12-02  Bangalore   49          0
3   2019-12-02  Delhi       49          0

позволяет предположить, что вывод функции rand равен [2,3, 1,6]

, то окончательный результат будет-

           DATE     CITY_NAME    WEEK_NUM       Hi
    0   2019-12-01  Bangalore      48           2
    1   2019-12-01  Delhi          48           3
    2   2019-12-02  Bangalore      49           1
    3   2019-12-02  Delhi          49           6

Ответы [ 2 ]

1 голос
/ 18 июня 2020
import random

df['Hi'] = [random.randrange(10) for _ in range(len(df))]

print(df)

Печать (например):

         DATE  CITY_NAME  WEEK_NUM  Hi
0  2019-12-01  Bangalore        48   2
1  2019-12-01      Delhi        48   9
2  2019-12-02  Bangalore        49   0
3  2019-12-02      Delhi        49   7

Редактировать: (с использованием индексов)

df['Hi'] = 0
for i, a, b in zip(df.index, df.DATE, df.CITY_NAME):
    df.loc[i,['Hi']] = '{} - {} - {}'.format(a, b, random.randrange(10))

Печать (например):

         DATE  CITY_NAME  WEEK_NUM                          Hi
0  2019-12-01  Bangalore        48  2019-12-01 - Bangalore - 5
1  2019-12-01      Delhi        48      2019-12-01 - Delhi - 0
2  2019-12-02  Bangalore        49  2019-12-02 - Bangalore - 8
3  2019-12-02      Delhi        49      2019-12-02 - Delhi - 5

EDIT2:

df['Hi'] = 0
for i in df.index:
    df.loc[i,['Hi']] = random.randrange(10)

Печать:

         DATE  CITY_NAME  WEEK_NUM  Hi
0  2019-12-01  Bangalore        48   7
1  2019-12-01      Delhi        48   1
2  2019-12-02  Bangalore        49   2
3  2019-12-02      Delhi        49   8
0 голосов
/ 18 июня 2020

Не уверен, почему вы используете al oop, вы можете обойтись без этого: Если вы используете numpy:

R1['Hi'] = np.random.randint(10, size = 4)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...