저는 DataFrame
입니다. 두 개의 관련 열은 다음과 같습니다. 하나는 int
의 열이고 다른 하나는 str
의 열입니다.팬더가 부동 소수점으로 변환하는 것을 중지하십시오.
나는 내가 int
열에 NaN
를 삽입 할 경우 int
에 대한 NaN
값이 없기 때문에, 팬더가 float
에 모든 int
변환됩니다 것을 이해합니다.
그러나 str
열에 None
을 삽입하면 팬더는 내 int
을 모두 float
으로 변환합니다. 이것은 제 말에 이해가되지 않습니다 - 제 2 열에 넣은 값이 왜 제 1 열에 영향을 줍니까?
int str
0 0 zero
int str
0 0 zero
1 1 NaN
없이 다음 출력을 어떤 방법이 있나요
이import pandas as pd
df = pd.DataFrame()
df["int"] = pd.Series([], dtype=int)
df["str"] = pd.Series([], dtype=str)
df.loc[0] = [0, "zero"]
print df
print
df.loc[1] = [1, None]
print df
출력은
int str
0 0 zero
int str
0 0.0 zero
1 1.0 NaN
입니다 :
여기에 간단한 작업 예 (파이썬 2)의 첫 번째 열을 int
으로 다시 작성합니다.
나는 의 실제 데이터를 해당 열이 정수이기 때문에
int
대신float
의 사용 선호합니다. 해결 방법이 없다면float
을 사용하겠습니다.실제 코드에서 실제 코드가 아니기 때문에 다시 작성하지 않아도됩니다.
실제dtype
을 저장합니다.또한 행별로 삽입 된 데이터가 필요합니다.
dtypes에 대한 정교한 dict으로 실험 해 왔으며, 단지 반복해서 시작해야했습니다. 고맙습니다. –