は明らかに、両方のタイプは、まだ文字列ですs
は変換strが数値にシリーズを入力したところ、私は
s = pd.Series(['a', '1'])
pd.to_numeric(s, 'ignore')
0 a
1 1
dtype: object
pd.to_numeric(s, 'ignore').apply(type)
0 <type 'str'>
1 <type 'str'>
dtype: object
STR型のシリーズを考えることができます。 'ignore'
オプションはエンジェリ級数変換を無視するようです。できることをして残りを無視するにはどうすればいいですか?
私はシリーズのタイプが
pd.to_numeric(s, 'ignore').apply(type)
0 <type 'str'>
1 <type 'int'>
dtype: object
EDITになりたい:私は質問を投稿して@ayhan後に答えを提供した後、私はこの思い付きました。
私のソリューション
はベクトル化が、私はこれは私が使っているものです
s.apply(pd.to_numeric, errors='ignore')
私ドンあなたのクエストを理解していないに。 'pd.to_numeric(s、errors = 'coerce')'のようなものを実行し、NaNだけでなく、一般的なdtype 'float64'を持っているか、' object' dtypeを持っています。 1つのシリーズ内にdtypesを混在させることはできません。AFAIK – MaxU
@MaxU私はシリーズの 'dtype'には関心がありません。私は個々の要素の '型'ができるところでは数値であることを望んでいます。 – piRSquared
@MaxU後者の 'dtype'オブジェクトは、型が強制されない場合にはここでは混合されることを意味し、' Series'は混合型dtypeを細かくサポートし、 'dtype'は' object'ですが、各要素は'str'、' int'この場合は – EdChum