팬더 데이터 프레임의 개별 행을 사용하고 있지만 행을 인덱싱하고 삽입하는 동안 강제 문제로 인해 어려움을 겪고 있습니다. 팬더는 항상 혼합 int / float에서 all-float 유형으로 강제 변환하려고하는 것처럼 보이며이 동작에 대한 명확한 제어 기능을 볼 수 없습니다.
예를 들어 다음은 a
as int
및 b
as를 사용하는 간단한 데이터 프레임입니다 float
.
import pandas as pd
pd.__version__ # '0.25.2'
df = pd.DataFrame({'a': [1], 'b': [2.2]})
print(df)
# a b
# 0 1 2.2
print(df.dtypes)
# a int64
# b float64
# dtype: object
하나의 행을 인덱싱하는 동안 강제 문제가 있습니다.
print(df.loc[0])
# a 1.0
# b 2.2
# Name: 0, dtype: float64
print(dict(df.loc[0]))
# {'a': 1.0, 'b': 2.2}
그리고 하나의 행을 삽입하는 동안 강제 문제가 있습니다.
df.loc[1] = {'a': 5, 'b': 4.4}
print(df)
# a b
# 0 1.0 2.2
# 1 5.0 4.4
print(df.dtypes)
# a float64
# b float64
# dtype: object
두 경우 모두 a
열을 부동 유형으로 강제 변환하지 않고 정수 유형으로 유지 하려고합니다 .
.read_[type]
여러 dtypes을 지원하지만 ...
df.loc[[0], df.columns]