在单元测试一些函数的上下文中,我试图使用python pandas建立2个DataFrame的相等性:
ipdb> expect
1 2
2012-01-01 00:00:00+00:00 NaN 3
2013-05-14 12:00:00+00:00 3 NaN
ipdb> df
identifier 1 2
timestamp
2012-01-01 00:00:00+00:00 NaN 3
2013-05-14 12:00:00+00:00 3 NaN
ipdb> df[1][0]
nan
ipdb> df[1][0], expect[1][0]
(nan, nan)
ipdb> df[1][0] == expect[1][0]
False
ipdb> df[1][1] == expect[1][1]
True
ipdb> type(df[1][0])
<type 'numpy.float64'>
ipdb> type(expect[1][0])
<type 'numpy.float64'>
ipdb> (list(df[1]), list(expect[1]))
([nan, 3.0], [nan, 3.0])
ipdb> df1, df2 = (list(df[1]), list(expect[1])) ;; df1 == df2
False
Run Code Online (Sandbox Code Playgroud)
鉴于我试图expect对整个(df包括NaN职位)进行全面测试,我做错了什么?
比较包括 …
是否可以以这种格式读取CSV文件:
2013-01-01,A,1
2013-01-02,A,2
2013-01-03,A,3
2013-01-04,A,4
2013-01-05,A,5
2013-01-01,B,1
2013-01-02,B,2
2013-01-03,B,3
2013-01-04,B,4
2013-01-05,B,5
Run Code Online (Sandbox Code Playgroud)
进入一个像这样结束的DataFrame:
A B
2013-01-01 1 1
2013-01-02 2 2
2013-01-03 3 3
2013-01-04 4 4
2013-01-05 5 5
Run Code Online (Sandbox Code Playgroud)
我在I/O文档中看不到任何内容(http://pandas.pydata.org/pandas-docs/dev/io.html)