@@ -5108,6 +5108,84 @@ def test_append_list_of_series_dicts(self):
5108
5108
expected = df .append (DataFrame (dicts ), ignore_index = True )
5109
5109
assert_frame_equal (result , expected )
5110
5110
5111
+ def test_append_empty_dataframe (self ):
5112
+
5113
+ # Empty df append empty df
5114
+ df1 = DataFrame ([])
5115
+ df2 = DataFrame ([])
5116
+ result = df1 .append (df2 )
5117
+ expected = df1 .copy ()
5118
+ assert_frame_equal (result , expected )
5119
+
5120
+ # Non-empty df append empty df
5121
+ df1 = DataFrame (np .random .randn (5 , 2 ))
5122
+ df2 = DataFrame ()
5123
+ result = df1 .append (df2 )
5124
+ expected = df1 .copy ()
5125
+ assert_frame_equal (result , expected )
5126
+
5127
+ # Empty df with columns append empty df
5128
+ df1 = DataFrame (columns = ['bar' , 'foo' ])
5129
+ df2 = DataFrame ()
5130
+ result = df1 .append (df2 )
5131
+ expected = df1 .copy ()
5132
+ assert_frame_equal (result , expected )
5133
+
5134
+ # Non-Empty df with columns append empty df
5135
+ df1 = DataFrame (np .random .randn (5 , 2 ), columns = ['bar' , 'foo' ])
5136
+ df2 = DataFrame ()
5137
+ result = df1 .append (df2 )
5138
+ expected = df1 .copy ()
5139
+ assert_frame_equal (result , expected )
5140
+
5141
+ def test_asfreq (self ):
5142
+ offset_monthly = self .tsframe .asfreq (datetools .bmonthEnd )
5143
+ rule_monthly = self .tsframe .asfreq ('BM' )
5144
+
5145
+ assert_almost_equal (offset_monthly ['A' ], rule_monthly ['A' ])
5146
+
5147
+ filled = rule_monthly .asfreq ('B' , method = 'pad' )
5148
+ # TODO: actually check that this worked.
5149
+
5150
+ # don't forget!
5151
+ filled_dep = rule_monthly .asfreq ('B' , method = 'pad' )
5152
+
5153
+ # test does not blow up on length-0 DataFrame
5154
+ zero_length = self .tsframe .reindex ([])
5155
+ result = zero_length .asfreq ('BM' )
5156
+ self .assert_ (result is not zero_length )
5157
+
5158
+ def test_asfreq_datetimeindex (self ):
5159
+ df = DataFrame ({'A' : [1 , 2 , 3 ]},
5160
+ index = [datetime (2011 , 11 , 01 ), datetime (2011 , 11 , 2 ),
5161
+ datetime (2011 , 11 , 3 )])
5162
+ df = df .asfreq ('B' )
5163
+ self .assert_ (isinstance (df .index , DatetimeIndex ))
5164
+
5165
+ ts = df ['A' ].asfreq ('B' )
5166
+ self .assert_ (isinstance (ts .index , DatetimeIndex ))
5167
+
5168
+ def test_at_time_between_time_datetimeindex (self ):
5169
+ index = pan .date_range ("2012-01-01" , "2012-01-05" , freq = '30min' )
5170
+ df = DataFrame (randn (len (index ), 5 ), index = index )
5171
+ akey = time (12 , 0 , 0 )
5172
+ bkey = slice (time (13 , 0 , 0 ), time (14 , 0 , 0 ))
5173
+ ainds = [24 , 72 , 120 , 168 ]
5174
+ binds = [26 , 27 , 28 , 74 , 75 , 76 , 122 , 123 , 124 , 170 , 171 , 172 ]
5175
+
5176
+ result = df .at_time (akey )
5177
+ expected = df .ix [akey ]
5178
+ expected2 = df .ix [ainds ]
5179
+ assert_frame_equal (result , expected )
5180
+ assert_frame_equal (result , expected2 )
5181
+ self .assert_ (len (result ) == 4 )
5182
+
5183
+ result = df .between_time (bkey .start , bkey .stop )
5184
+ expected = df .ix [bkey ]
5185
+ expected2 = df .ix [binds ]
5186
+
5187
+ # Non-Empty df with columns append empty df
5188
+
5111
5189
def test_asfreq (self ):
5112
5190
offset_monthly = self .tsframe .asfreq (datetools .bmonthEnd )
5113
5191
rule_monthly = self .tsframe .asfreq ('BM' )
0 commit comments