_pandas DataFrame
_を使用して_pd.read_csv
_を読み込んでいます。最初の行をデータとして保持したいのですが、列名に変換され続けます。
header=False
_を試しましたが、これで完全に削除されました。(入力データに関する注意:文字列(st = '\n'.join(lst)
)をファイルのようなオブジェクト(io.StringIO(st)
)に変換し、それからcsv
を構築しますファイルオブジェクト。)
header=None
False
はint
に型昇格されて0
になります( docs 重点鉱山を参照):
header:intまたはintのリスト、列名として使用するデフォルトの「推論」行番号、およびデータの開始。デフォルトの動作では、名前が渡されなかった場合は0に設定され、それ以外の場合はNoneに設定されます。既存の名前を置き換えることができるように、明示的にheader = 0を渡します。ヘッダーは、列のマルチインデックスの行の位置を指定する整数のリストにすることができます。 [0,1,3]。指定されていない介在する行はスキップされます(たとえば、この例の2はスキップされます)。 skip_blank_lines = Trueの場合、このパラメーターはコメント行と空行を無視するため、header = 0はファイルの最初の行ではなくデータの最初の行を示します。
最初にheader=0
を使用すると、動作の違いを確認できます。
In [95]:
import io
import pandas as pd
t="""a,b,c
0,1,2
3,4,5"""
pd.read_csv(io.StringIO(t), header=0)
Out[95]:
a b c
0 0 1 2
1 3 4 5
None
で:
In [96]:
pd.read_csv(io.StringIO(t), header=None)
Out[96]:
0 1 2
0 a b c
1 0 1 2
2 3 4 5
最新バージョン0.19.1
では、これによりTypeError
が発生することに注意してください。
In [98]:
pd.read_csv(io.StringIO(t), header=False)
TypeError:boolをヘッダーに渡すことは無効です。列名を構成する行を指定するには、header = Noneをヘッダーなし、header = intまたはintのリストのように使用します。
パラメーターheader=None
から read_csv
が必要だと思います:
サンプル:
import pandas as pd
from pandas.compat import StringIO
temp=u"""a,b
2,1
1,1"""
df = pd.read_csv(StringIO(temp),header=None)
print (df)
0 1
0 a b
1 2 1
2 1 1