def test_strip_column_names():
d = {'one': pd.Series([1., 2., 3.], index=['a', 'b', 'c']),
'two': pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd']),
'PD L1 (val)': pd.Series([1., 2., 3., 4.], index=['a', 'b', 'c', 'd']),
'PD L1 (>1)': pd.Series([0., 1., 1., 1.], index=['a', 'b', 'c', 'd']),
}
df = pd.DataFrame(d)
# should not error & should rename columns
df2 = df.rename(columns=strip_column_names(df.columns))
ok_((df2.columns != df.columns).any())
# should not rename columns -- should raise a warning
with warnings.catch_warnings(record=True) as w:
warnings.simplefilter('always')
df3 = df.rename(columns=strip_column_names(
df.columns, keep_paren_contents=False))
ok_(len(w) > 0, 'warning not raised when keep_paren_contents results in dups')
ok_((df3.columns == df.columns).all())
评论列表
文章目录