Добавление строки в пустой DataFrame преобразует dtype из int в объект - PullRequest
0 голосов
/ 12 сентября 2018

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

Как сохранить тип d в качестве int для элементов вфрейм данных.

Вот демонстрационный код:

>>> import pandas as pd
>>> df = pd.DataFrame(columns =['a','b','c'],  dtype=int)
>>> row = pd.Series(0,['a','b','c'],dtype=int)
>>> row = row.rename('row')
>>> print(row)
a    0
b    0
c    0
Name: row, dtype: int64
>>> df.append(row)['a']
row    0
Name: a, dtype: object
>>> 

1 Ответ

0 голосов
/ 12 сентября 2018

dtype=int, очевидно, не залипает, когда вы инициируете информационный кадр без данных.

Workround

df = pd.DataFrame(columns=['a','b','c']).astype(int)
row = pd.Series(0, ['a', 'b', 'c'], dtype=int, name='row')

df.append(row).dtypes

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