ホームページ  >  記事  >  バックエンド開発  >  オブジェクト形式をロスレスに float64 形式に変換する方法

オブジェクト形式をロスレスに float64 形式に変換する方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-12 09:26:544792ブラウズ

今回は、オブジェクトフォーマットをfloat64フォーマットにロスレス変換する方法と、オブジェクトフォーマットをfloat64フォーマットにロスレス変換する際の注意点について説明します。実際のケースを見てみましょう。

データ加工中

例えばCSVファイルからデータをインポートする場合

data_df = pd.read_csv("names.csv")

加工前に必ずデータの型を確認してください

data_df.info()
*RangeIndex: 891 entries, 0 to 890 
Data columns (total 12 columns): 
Name 891 non-null object 
Sex 891 non-null object 
Age 714 non-null float64 
SibSp 891 non-null int64 
Parch 891 non-null int64 
Ticket 891 non-null object 
Fare 891 non-null float64 
Cabin 204 non-null object 
Embarked 889 non-null object 
dtypes: float64(2), int64(5), object(5) 
memory usage: 83.6+ KB*

データの型は上記のobject、int64、float64です。

列データに対して操作を実行する必要がある場合、注意しなければならないことの 1 つは:

2 つの列の データ型 が同じかどうか!!

オブジェクト クラス型がint64と同じ 型を追加するとエラーが発生します

エラーメッセージは以下の通りです

TypeError: ufunc 'add' not contain a loop with signature matching types dtype('<U32') dtype('<U32') dtype('<U32')

この時のオブジェクト型は'12.3'などのstr形式の数値である可能性があります。操作を実行するには、フォーマット変換を実行する必要があります:

次のメソッド (convert_objects) を使用できます:

dt_df = dt_df.convert_objects(convert_numeric=True)

個人的に効果的であることをテストしました。

もう一度思い出してください!データを取得する前に、必ずデータ型を確認してください。 ! !

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

オブジェクトを float データに変換する方法

Vue2 の親コンポーネントと子コンポーネントの双方向バインディングを実現する方法

以上がオブジェクト形式をロスレスに float64 形式に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。