Данные в DataFrame очищаются при добавлении индекса - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь добавить индекс для одной строки данных. Фрейм данных будет использоваться для хранения различных значений для определенного региона. Когда я пытаюсь добавить индекс, данные очищаются, хотя я добавляю данные в фрейм данных одновременно.

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

ages = pd.DataFrame(data=ages,index=['Ardrossan'])

Фрейм данных должен отображать население разных возрастных групп в Ардроссане.

Ответы [ 2 ]

0 голосов
/ 11 июля 2019

Если данные - это тип, имеющий индекс, такой как DataFrame или Series, pd.DataFrame(data=..., index=...) сохраняет только те строки, которые имеют одинаковый индекс в предыдущем и новом индексе. Все остальные строки с новым индексом получают NaN.

Так что здесь, вы должны использовать базовый массив для данных вместо полного фрейма данных:

ages = pd.DataFrame(data=ages.values,index=['Ardrossan'])
0 голосов
/ 11 июля 2019

Поскольку data является фреймом данных, pandas пытается сопоставить индексы.

Например,

ages = pd.DataFrame({'col1': [1,2,3]}, 
                    index=['a', 'b', 'c'])
df = pd.DataFrame(data=ages,index=['Ardrossan'])

дает

            col1
Ardrossan   NaN

Но

ages = pd.DataFrame({'col1': [1,2,3]}, 
                    index=['a', 'Ardrossan', 'c'])
df = pd.DataFrame(data=ages,index=['Ardrossan'])

Тогда получается

            col1
Ardrossan   2

Убедитесь, что у вас есть индекс Ardrossan в вашем предыдущем фрейме данных.Или просто установите индекс потом

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