|
1 | 1 | from datetime import timedelta
|
| 2 | +from decimal import Decimal |
2 | 3 | import operator
|
3 | 4 | from string import ascii_lowercase
|
4 | 5 | import warnings
|
@@ -1075,6 +1076,29 @@ def test_mean_excludeds_datetimes(self, tz):
|
1075 | 1076 | expected = pd.Series()
|
1076 | 1077 | tm.assert_series_equal(result, expected)
|
1077 | 1078 |
|
| 1079 | + def test_mean_mixed_string_decimal(self): |
| 1080 | + # GH 11670 |
| 1081 | + # possible bug when calculating mean of DataFrame? |
| 1082 | + |
| 1083 | + d = [ |
| 1084 | + {"A": 2, "B": None, "C": Decimal("628.00")}, |
| 1085 | + {"A": 1, "B": None, "C": Decimal("383.00")}, |
| 1086 | + {"A": 3, "B": None, "C": Decimal("651.00")}, |
| 1087 | + {"A": 2, "B": None, "C": Decimal("575.00")}, |
| 1088 | + {"A": 4, "B": None, "C": Decimal("1114.00")}, |
| 1089 | + {"A": 1, "B": "TEST", "C": Decimal("241.00")}, |
| 1090 | + {"A": 2, "B": None, "C": Decimal("572.00")}, |
| 1091 | + {"A": 4, "B": None, "C": Decimal("609.00")}, |
| 1092 | + {"A": 3, "B": None, "C": Decimal("820.00")}, |
| 1093 | + {"A": 5, "B": None, "C": Decimal("1223.00")}, |
| 1094 | + ] |
| 1095 | + |
| 1096 | + df = pd.DataFrame(d) |
| 1097 | + |
| 1098 | + result = df.mean() |
| 1099 | + expected = pd.Series([2.7, 681.6], index=["A", "C"]) |
| 1100 | + tm.assert_series_equal(result, expected) |
| 1101 | + |
1078 | 1102 | def test_var_std(self, datetime_frame):
|
1079 | 1103 | result = datetime_frame.std(ddof=4)
|
1080 | 1104 | expected = datetime_frame.apply(lambda x: x.std(ddof=4))
|
|
0 commit comments