@@ -1149,80 +1149,60 @@ def test_data_frame_size_after_to_json(self):
1149
1149
1150
1150
assert size_before == size_after
1151
1151
1152
- def test_index_false_to_json (self ):
1152
+ @pytest .mark .parametrize ('data, expected' , [
1153
+ (DataFrame ([[1 , 2 ], [4 , 5 ]], columns = ['a' , 'b' ]),
1154
+ {'columns' : ['a' , 'b' ], 'data' : [[1 , 2 ], [4 , 5 ]]}),
1155
+ (DataFrame ([[1 , 2 ], [4 , 5 ]], columns = ['a' , 'b' ]).rename_axis ('foo' ),
1156
+ {'columns' : ['a' , 'b' ], 'data' : [[1 , 2 ], [4 , 5 ]]}),
1157
+ (DataFrame ([[1 , 2 ], [4 , 5 ]], columns = ['a' , 'b' ],
1158
+ index = [['a' , 'b' ], ['c' , 'd' ]]),
1159
+ {'columns' : ['a' , 'b' ], 'data' : [[1 , 2 ], [4 , 5 ]]}),
1160
+ (Series ([1 , 2 , 3 ], name = 'A' ),
1161
+ {'name' : 'A' , 'data' : [1 , 2 , 3 ]}),
1162
+ (Series ([1 , 2 , 3 ], name = 'A' ).rename_axis ('foo' ),
1163
+ {'name' : 'A' , 'data' : [1 , 2 , 3 ]}),
1164
+ (Series ([1 , 2 ], name = 'A' , index = [['a' , 'b' ], ['c' , 'd' ]]),
1165
+ {'name' : 'A' , 'data' : [1 , 2 ]}),
1166
+ ])
1167
+ def test_index_false_to_json_split (self , data , expected ):
1153
1168
# GH 17394
1154
- # Testing index parameter in to_json
1155
-
1156
- # Testing DataFrame.to_json(orient='split', index=False)
1157
- df = pd .DataFrame ([[1 , 2 ], [4 , 5 ]], columns = ['a' , 'b' ])
1158
-
1159
- result = df .to_json (orient = 'split' , index = False )
1160
- result = json .loads (result )
1161
-
1162
- expected = {
1163
- 'columns' : ['a' , 'b' ],
1164
- 'data' : [[1 , 2 ], [4 , 5 ]]
1165
- }
1166
-
1167
- assert result == expected
1169
+ # Testing index=False in to_json with orient='split'
1168
1170
1169
- # Testing DataFrame.to_json(orient='table', index=False)
1170
- result = df .to_json (orient = 'table' , index = False )
1171
+ result = data .to_json (orient = 'split' , index = False )
1171
1172
result = json .loads (result )
1172
1173
1173
- schema = {
1174
- 'fields' : [{'name' : 'a' , 'type' : 'integer' },
1175
- {'name' : 'b' , 'type' : 'integer' }],
1176
- 'pandas_version' : '0.20.0'
1177
- }
1178
-
1179
- expected = {
1180
- 'schema' : schema ,
1181
- 'data' : [{'a' : 1 , 'b' : 2 }, {'a' : 4 , 'b' : 5 }]
1182
- }
1183
-
1184
1174
assert result == expected
1185
1175
1186
- # Testing Series.to_json(orient='split ', index=False)
1187
- s = pd . Series ([ 1 , 2 , 3 ], name = 'A' )
1188
-
1189
- result = s . to_json ( orient = 'split ' , index = False )
1190
- result = json . loads ( result )
1191
-
1192
- expected = {
1193
- 'name' : 'A' ,
1194
- 'data' : [ 1 , 2 , 3 ]
1195
- }
1196
-
1197
- assert result == expected
1176
+ @ pytest . mark . parametrize ( 'data ' , [
1177
+ ( DataFrame ([[ 1 , 2 ], [ 4 , 5 ]], columns = [ 'a' , 'b' ])),
1178
+ ( DataFrame ([[ 1 , 2 ], [ 4 , 5 ]], columns = [ 'a' , 'b' ]). rename_axis ( 'foo' )),
1179
+ ( DataFrame ([[ 1 , 2 ], [ 4 , 5 ]], columns = [ 'a ' , 'b' ],
1180
+ index = [[ 'a' , 'b' ], [ 'c' , 'd' ]])),
1181
+ ( Series ([ 1 , 2 , 3 ], name = 'A' )),
1182
+ ( Series ([ 1 , 2 , 3 ], name = 'A' ). rename_axis ( 'foo' )),
1183
+ ( Series ([ 1 , 2 ], name = 'A' , index = [[ 'a' , 'b' ], [ 'c' , 'd' ]])) ,
1184
+ ])
1185
+ def test_index_false_to_json_table ( self , data ):
1186
+ # GH 17394
1187
+ # Testing index=False in to_json with orient='table'
1198
1188
1199
- # Testing Series.to_json(orient='table', index=False)
1200
- result = s .to_json (orient = 'table' , index = False )
1189
+ result = data .to_json (orient = 'table' , index = False )
1201
1190
result = json .loads (result )
1202
1191
1203
- fields = [{'name' : 'A' , 'type' : 'integer' }]
1204
-
1205
- schema = {
1206
- 'fields' : fields ,
1207
- 'pandas_version' : '0.20.0'
1208
- }
1209
-
1210
1192
expected = {
1211
- 'schema' : schema ,
1212
- 'data' : [{ 'A' : 1 }, { 'A' : 2 }, { 'A' : 3 }]
1193
+ 'schema' : pd . io . json . build_table_schema ( data , index = False ) ,
1194
+ 'data' : DataFrame ( data ). to_dict ( orient = 'records' )
1213
1195
}
1214
1196
1215
1197
assert result == expected
1216
1198
1217
1199
@pytest .mark .parametrize ('orient' , [
1218
- ('records' ),
1219
- ('index' ),
1220
- ('columns' ),
1221
- ('values' ),
1200
+ 'records' , 'index' , 'columns' , 'values'
1222
1201
])
1223
1202
def test_index_false_error_to_json (self , orient ):
1224
1203
# GH 17394
1225
1204
# Testing error message from to_json with index=False
1205
+
1226
1206
df = pd .DataFrame ([[1 , 2 ], [4 , 5 ]], columns = ['a' , 'b' ])
1227
1207
1228
1208
with tm .assert_raises_regex (ValueError , "'index=False' is only "
0 commit comments