2017-05-16 2 views
0

、私は列名がキーとされた列の対応DTYPEことで辞書に列名とそのDTYPEを挿入するファイルデータフレーム:パイソンそう

F1.txt 

CDUS,CBSCS,CTRS,CTRS_ID 
0,0,0.000000000375,056572 
0,0,4.0746,0309044 
0,0,0.6182,0971094 
0,0,15.4834,075614 

を持っています値。

私のREAD文は次のようにする必要があり:

data = {'CDUS':'int64','CBSCS':'int64','CTRS':'float64','CTRS_ID':'str'} 

誰かがこれで私を助けることができます:私はこのような何かを期待してい

csv=pandas.read_csv('F2.txt',dtype={'CTRS_ID':str}) 

答えて

1

dtypesを使用して、各列のタイプを検索し、結果をto_dictの辞書に変換することができます。あなたがタイプの文字列表現をしたい場合にも、あなたは文字列にdtypes出力に変換することができます:パンダの扱いいるので、

{'CBSCS': 'int64', 'CDUS': 'int64', 'CTRS': 'float64', 'CTRS_ID': 'object'} 

これは実際には右の結果である:出力を与える

csv=pandas.read_csv('F2.txt',dtype={'CTRS_ID':str}) 
csv.dtypes.astype(str).to_dict() 

オブジェクトとしての文字列。私は十分にこれについて詳しく説明するための専門知識が、ここで参照のカップルではない持っている :

pandas distinction between str and object types

pandas string data types 「パンダは、(実際には、彼らは常にオブジェクトに変換されている)内部文字列の種類をサポートしていません」 [from pandas maintainer @Jeff]

+1

私はこの答えが好きです。とてもきちんとしていてとてもシンプルです。 – MaxU

+0

それは動作しません。print dict1' – Rowen

+0

これは、次のような出力を返します: '{'CTRS': 'object(' CTRS ':' object '、' CDUS ':'オブジェクト '、' BOARD_ID ':'オブジェクト '、' CBSCS ':'オブジェクト '} ' – Rowen

関連する問題