Pandas: データフレームの作成:辞書を使用してdtypeを指定する

作成日 2015年01月18日  ·  3コメント  ·  ソース: pandas-dev/pandas

この機能が以前に提案された場合はお詫びします。 多くのIO関数( read_csv )を使用すると、辞書を使用して各列の形式を簡単に指定できます。 私が理解している限り、これはそうではあり
通常のデータフレーム構築で可能です。例:

df = pd.DataFrame(data=data, columns=columns, dtypes={'colname1': str, 'colname2': np.int})

さらに良いことに、同様の構造を使用してデータフレーム列のdtypesを変更できれば素晴らしいと思います。例:

df.change_types({'colname1': str, 'colname2': np.int})

このようなものはすでに計画されていますか?

API Design Dtypes Duplicate Reshaping

最も参考になるコメント

この方法は実際に機能します:
data_df = data_df.astype( dtype = {"wheel_number": "int64"、 "car_name": "object"、 "minutes_spent": "float64"})

全てのコメント3件

#9133と#4464を参照してください。それほど難しくはありません。
試してみませんか?

この方法は実際に機能します:
data_df = data_df.astype( dtype = {"wheel_number": "int64"、 "car_name": "object"、 "minutes_spent": "float64"})

read_csv( csvFile, dtype={..} )df.astpye(dtype={..} )違い:
read_csvの場合、提供されたdictにcsvに含まれていない列がさらに含まれていても問題ありませんが、それらは適切に無視されます。 astype()の場合、定義されたすべての列がデータに存在しないとエラーになります。

read_csvのようになります。 一部の列があり、他の列がない可能性のある着信dictを使用できるためです。 今、これは私がしなければならない回避策です:

df = pd.DataFrame( incoming_data )
gtfs_dtypes = { ... } # my master dtypes dict, having all possible column names
gtfs_dtypes_specific = { x:gtfs_dtypes.get(x,'str') for x in df.columns.tolist() }
df = df.astype(dtype=gtfs_dtypes_specific)
このページは役に立ちましたか?
0 / 5 - 0 評価