外部からpandas.read_csvで読み込んだ数値のみのデータを、floatに変換したいです。
DataFrame全体の値をfloatに変換しても良いですし、
df.loc[[index],[columns]]で指定した値のみを、型変換する方法でも構いません。
何か有効な方法があれば教えて頂きたいです。
df.astype(float)
と入力しても、
print(type(df))
で確認すると、
<class 'pandas.core.frame.DataFrame'>
と表示されます。
よろしくお願いします。
また質問に対して不十分な事柄がございましたら、お知せ下さい。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/29 09:29
回答2件
0
ベストアンサー
df = df.astype(float)
のように、更新結果をdf
に代入してください。
指定列のみも同様に可能です。
確認はprint(type(df))
ではなくprint(df.info())
が適切です。
Python
1from io import StringIO 2import pandas as pd 3 4f = StringIO(""" 5i,f 61,1.1 72,2.2 83,3.3 9""" 10) 11df = pd.read_csv( f) 12print(df.info()) 13print(df) 14 15# 全部floatに 16df = df.astype(float) 17print(df.info()) 18print(df) 19 20# 'i'列のみintに 21df['i'] = df['i'].astype(int) 22print(df.info()) 23print(df)
投稿2018/03/29 08:49
編集2018/03/29 08:54総合スコア38262
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/29 09:26
2018/03/29 09:35
2018/03/29 10:18
2018/03/29 10:38
2018/03/30 02:26
0
まずdf.dtypesをチェックしてみてください。
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.dtypes.html
投稿2018/03/29 08:48
総合スコア3601
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。