Добавьте одно и то же значение в несколько наборов строк. Значение изменяется в зависимости от условия - PullRequest
0 голосов
/ 15 мая 2019

У меня есть датафрейм, который создается динамически.Я создаю свой первый набор строк как:

df['tourist_spots'] = pd.Series(<A list of tourist spots in a city>)

К этому df я добавляю:

df['city'] = <City Name>

Пока все хорошо.Для нескольких туристических мест создается группа строк с одинаковым названием города.

Я хочу добавить новый город.Поэтому я делаю:

df['tourist_spots'].append(pd.Series(<new data>))

Теперь, когда я добавляю новый город с помощью:

df['city'].append('new city')

ранее обновленные данные о городе исчезают.Как будто каждый раз, когда строки заменяются и не добавляются.

Вот пример того, что я хочу:

Шаг 1:

df['tourist_spot'] = pd.Series('Golden State Bridge' + a bunch of other spots)

Для всех строкя хочу создать следующие данные:

df['city'] = 'San Francisco'

Шаг 2:

df['tourist_spot'].append(pd.Series('Times Square' + a bunch of other spots)

Для всех строк, созданных с помощью указанных выше данных, я хочу:

df['city'] = 'New York'

Как мне этого добиться?

1 Ответ

1 голос
/ 15 мая 2019

Используйте словарь для добавления строк в ваш фрейм данных , это более быстрый метод.Вот, например,

STEP 1 Создать словарь:

dict_df = [{'tourist_spots': 'Jones LLC', 'City': 'Boston'},
     {'tourist_spots': 'Alpha Co',  'City': 'Boston'},
     {'tourist_spots': 'Blue Inc',  'City': 'Singapore' }]

STEP2 Преобразовать словарь в фрейм данных:

df = pd.DataFrame(dict_df)

STEP3 Добавление новых записей в фрейм данных в формате словаря:

df = df.append({'tourist_spots': 'New_Blue',  'City': 'Singapore'}, ignore_index=True)

Ссылки:

  1. https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_dict.html
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...