私にはDataFrame
があります。関連する2つの列は、次のとおりです.1つはint
の列で、もう1つはstr
の列です。パンダが整数を浮動小数点に変換するのを停止します
私はint
列にNaN
を挿入した場合int
にはNaN
値がないため、パンダはfloat
にすべてのint
を変換することを理解しています。私はstr
列にNone
を挿入すると
はしかし、パンダは、同様にfloat
にすべての私のint
を変換します。これは私には意味をなさない - なぜ私が2列目に入れた値は1列目に影響するのですか?ここで
は、単純な作業の例(Pythonの2)です:
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
ある出力は以下のようにする方法はあります:
int str
0 0 zero
int str
0 0 zero
1 1 NaN
なし最初の列をint
にリキャストします。
私は、列が整数である の実際のデータので
int
代わりのfloat
を使用して好みます。回避策がない場合は、float
を使用します。私はので、私の実際のコードに書き直す必要がない好む、私は
は、実際のdtype
を格納しません。また、行ごとに挿入されたデータが必要です。
あなたはこの1つは200列を持つCSVファイルを読み込む、私にどのように役立ったかを想像することはできません...実際にI dtypesのための精巧なdictと実験され、何度も何度も繰り返し始めますありがとうございました。 –