あなたはread_csv
に文字列を養うためにio.StringIO
を使用することができます。
In [23]: pd.read_csv(io.StringIO('\n'.join(list_vals)), delim_whitespace=True)
Out[23]:
col_a col_B col_C
0 12.0 34.0 10.0
1 15.0 111.0 23.0
これは、自動的に型解釈を行うという利点がありますあなたが列csv--普通に読んでいた場合パンダはどうなるationが山車です:
In [24]: _.dtypes
Out[24]:
col_a float64
col_B float64
col_C float64
dtype: object
あなただけの直接データフレームのコンストラクタにあなたのリストを養うことができますが、すべてが文字列とどまる:
In [21]: pd.DataFrame(columns=list_vals[0].split(),
data=[row.split() for row in list_vals[1:]])
Out[21]:
col_a col_B col_C
0 12.0 34.0 10.0
1 15.0 111.0 23
In [22]: _.dtypes
Out[22]:
col_a object
col_B object
col_C object
dtype: object
これを修正するにはdtype=float
を追加することもできますが、通常の方法でread_csv
のアプローチで扱うタイプが混在している可能性があります。手動で行う必要があります。
出典
2017-02-11 03:54:40
DSM
ありがとう、これは素晴らしい答えです – user308827