df = DataFrame() df = df.append(Series({"a": 1}))
のような感じでappendすると、Seriesのa列はint型なのに、append後のdfのa列はfloat型になっている。。
以下によると、DataFrameインスタンスを生成する時に、列を定義してそのdtypeをintにすればいいらしいが、 Seriesを生成するところとDataFrameを生成するところで二重に列を定義しないといけないのがいやだ。。
なので以下のようにSeriesの配列を作ってそれをDataFrameに変換することで対応した。
s = [] s.append(Series({"a": 1}) df = DataFrame(s)