Skip to content

Commit ccbe7be

Browse files
jbrockmendeljreback
authored andcommitted
TST: tests for needs-test issues #12857 #12689 (#30327)
1 parent d5f0f44 commit ccbe7be

File tree

3 files changed

+51
-0
lines changed

3 files changed

+51
-0
lines changed

Diff for: pandas/tests/frame/test_arithmetic.py

+7
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@
1616
class TestFrameComparisons:
1717
# Specifically _not_ flex-comparisons
1818

19+
def test_frame_in_list(self):
20+
# GH#12689 this should raise at the DataFrame level, not blocks
21+
df = pd.DataFrame(np.random.randn(6, 4), columns=list("ABCD"))
22+
msg = "The truth value of a DataFrame is ambiguous"
23+
with pytest.raises(ValueError, match=msg):
24+
df in [None]
25+
1926
def test_comparison_invalid(self):
2027
def check(df, df2):
2128

Diff for: pandas/tests/frame/test_constructors.py

+13
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,19 @@
4343

4444

4545
class TestDataFrameConstructors:
46+
def test_series_with_name_not_matching_column(self):
47+
# GH#9232
48+
x = pd.Series(range(5), name=1)
49+
y = pd.Series(range(5), name=0)
50+
51+
result = pd.DataFrame(x, columns=[0])
52+
expected = pd.DataFrame([], columns=[0])
53+
tm.assert_frame_equal(result, expected)
54+
55+
result = pd.DataFrame(y, columns=[1])
56+
expected = pd.DataFrame([], columns=[1])
57+
tm.assert_frame_equal(result, expected)
58+
4659
@pytest.mark.parametrize(
4760
"constructor",
4861
[

Diff for: pandas/tests/io/parser/test_header.py

+31
Original file line numberDiff line numberDiff line change
@@ -540,3 +540,34 @@ def test_multi_index_unnamed(all_parsers, index_col, columns):
540540
columns = MultiIndex.from_tuples(zip(exp_columns, ["0", "1"]))
541541
expected = DataFrame([[2, 3], [4, 5]], columns=columns)
542542
tm.assert_frame_equal(result, expected)
543+
544+
545+
def test_read_csv_multiindex_columns(all_parsers):
546+
# GH#6051
547+
parser = all_parsers
548+
549+
s1 = "Male, Male, Male, Female, Female\nR, R, L, R, R\n.86, .67, .88, .78, .81"
550+
s2 = (
551+
"Male, Male, Male, Female, Female\n"
552+
"R, R, L, R, R\n"
553+
".86, .67, .88, .78, .81\n"
554+
".86, .67, .88, .78, .82"
555+
)
556+
557+
mi = MultiIndex.from_tuples(
558+
[
559+
("Male", "R"),
560+
(" Male", " R"),
561+
(" Male", " L"),
562+
(" Female", " R"),
563+
(" Female", " R.1"),
564+
]
565+
)
566+
expected = DataFrame(
567+
[[0.86, 0.67, 0.88, 0.78, 0.81], [0.86, 0.67, 0.88, 0.78, 0.82]], columns=mi
568+
)
569+
570+
df1 = parser.read_csv(StringIO(s1), header=[0, 1])
571+
tm.assert_frame_equal(df1, expected.iloc[:1])
572+
df2 = parser.read_csv(StringIO(s2), header=[0, 1])
573+
tm.assert_frame_equal(df2, expected)

0 commit comments

Comments
 (0)