MCPcopy
hub / github.com/pandas-dev/pandas / test_append_with_strings2

Function test_append_with_strings2

pandas/tests/io/pytables/test_append.py:441–481  ·  view source on GitHub ↗
(temp_hdfstore)

Source from the content-addressed store, hash-verified

439
440
441def test_append_with_strings2(temp_hdfstore):
442 def check_col(key, name, size):
443 assert (
444 getattr(temp_hdfstore.get_storer(key).table.description, name).itemsize
445 == size
446 )
447
448 df = DataFrame({"A": "foo", "B": "bar"}, index=range(10))
449
450 # a min_itemsize that creates a data_column
451 temp_hdfstore.append("df", df, min_itemsize={"A": 200})
452 check_col("df", "A", 200)
453 assert temp_hdfstore.get_storer("df").data_columns == ["A"]
454
455 # a min_itemsize that creates a data_column2
456 temp_hdfstore.remove("df")
457 temp_hdfstore.append("df", df, data_columns=["B"], min_itemsize={"A": 200})
458 check_col("df", "A", 200)
459 assert temp_hdfstore.get_storer("df").data_columns == ["B", "A"]
460
461 # a min_itemsize that creates a data_column2
462 temp_hdfstore.remove("df")
463 temp_hdfstore.append("df", df, data_columns=["B"], min_itemsize={"values": 200})
464 check_col("df", "B", 200)
465 check_col("df", "values_block_0", 200)
466 assert temp_hdfstore.get_storer("df").data_columns == ["B"]
467
468 # infer the .typ on subsequent appends
469 temp_hdfstore.remove("df")
470 temp_hdfstore.append("df", df[:5], min_itemsize=200)
471 temp_hdfstore.append("df", df[5:], min_itemsize=200)
472 tm.assert_frame_equal(temp_hdfstore["df"], df)
473
474 # invalid min_itemsize keys
475 df = DataFrame(["foo", "foo", "foo", "barh", "barh", "barh"], columns=["A"])
476 temp_hdfstore.remove("df")
477 msg = re.escape(
478 "min_itemsize has the key [foo] which is not an axis or data_column"
479 )
480 with pytest.raises(ValueError, match=msg):
481 temp_hdfstore.append("df", df, min_itemsize={"foo": 20, "foobar": 20})
482
483
484def test_append_with_empty_string(temp_hdfstore):

Callers

nothing calls this directly

Calls 6

DataFrameClass · 0.90
check_colFunction · 0.85
get_storerMethod · 0.80
appendMethod · 0.45
removeMethod · 0.45
raisesMethod · 0.45

Tested by

no test coverage detected