2017-02-24 5 views
1

パンダのiterrowsは列の種類を変更します。 this githubの問題によると、意図された動作です。パンダのiterrowsは、浮動する列の種類を変更します。元のタイプに戻す方法は?

元のタイプに戻すためにピジョンソニックでエレガントなアイデアはありますか? 私は複数の列型があることに注意してください。

最小限例df.dtypesは、列の型を返します。しかし、私は後列をキャストするためにそれを使用したエレガントな方法を考えることができなかったことを注意

(0, 0 0.0 
1 1.0 
2 2.0 
3 3.0 
4 4.0 
Name: 0, dtype: float64) 
(1, 0 0.0 
1 1.0 
2 2.0 
3 3.0 
4 4.0 
Name: 1, dtype: float64) 

df = pd.DataFrame([range(5), range(5)]) 
df.iloc[:,1] = df.iloc[:,1].astype('float') 
for row in df.iterrows(): 
    print row 

結果そのタイプに。

答えて

4

代わりdf.itertuplesを使用してみてください:

df = pd.DataFrame([range(5), range(5)], columns=list('abcde')) 
df.iloc[:,1] = df.iloc[:,1].astype('float') 

for row in df.itertuples(): 
    print(row) 

Pandas(Index=0, a=0, b=1.0, c=2, d=3, e=4) 
Pandas(Index=1, a=0, b=1.0, c=2, d=3, e=4) 
関連する問題