Индексирование единственной строки в DataFrame Pandas, содержащей объекты (строки), возвращает серию типа объекта.
df1 = pd.DataFrame({'a': np.arange(3), 'b': np.arange(0.5,3),'c': list('def')})
df1
a b c
0 0 0.5 d
1 1 1.5 e
2 2 2.5 f
df1.loc[0]
a 0
b 0.5
c d
Name: 0, dtype: object
Индексирование отдельной строки в DataFrame Pandas, не содержащей объектов (строк), возвращает серию, которая преобразует свои значения. Столбец a
имеет тип int64
в кадре данных. Результирующий ряд содержит значение столбца a
как float64
.
df2 = pd.DataFrame({'a': np.arange(3), 'b': np.arange(0.5,3)})
df2
a b
0 0 0.5
1 1 1.5
2 2 2.5
df2.loc[0]
a 0.0
b 0.5
Name: 0, dtype: float64
Это поведение не кажется последовательным, не так ли?
Как я могу выбрать одну строку второго DataFrame df2
, не переводя мои целые числа в числа с плавающей точкой?