KeyError: «[706] не найден на оси» ⇐ Python
-
Anonymous
KeyError: «[706] не найден на оси»
У меня есть фрейм данных, из которого я хочу удалить выбросы и сохранить их в total_outliers следующим образом:
Area_outliers = np.where(df['Area'] > Upper_Area) Price_outliers = np.where(df['Price'] > Upper_Price) # Возвращаем уникальный отсортированный массив значений, находящихся в любом из двух входных массивов. total_outliers = np.union1d(Area_outliers, Price_outliers) Вот мои выбросы:
total_outliers массив([ 25, 58, 83, 101, 145, 159, 160, 166, 173, 176, 187, 189, 193, 195, 196, 200, 210, 215, 218, 220, 226, 234, 235, 238, 260, 262, 264, 269, 270, 281, 283, 284, 297, 299, 315, 327, 329, 338, 339, 340, 342, 343, 344, 345, 346, 347, 348, 349, 351, 353, 355, 356, 362, 363, 364, 394, 410, 411, 412, 429, 430, 436, 439, 458, 463, 496, 512, 514, 515, 516, 525, 534, 547, 553, 559, 564, 565, 566, 567, 569, 572, 576, 577, 578, 579, 582, 599, 600, 610, 627, 635, 638, 640, 641, 648, 649, 652, 706, 712, 721, 729, 730, 731, 738, 739, 740, 753, 765, 792, 803, 804, 816, 819, 828, 834, 836, 849, 872, 876, 891, 955, 956, 962, 1005, 1006, 1012, 1021, 1022, 1028, 1031, 1033, 1103, 1110, 1114, 1128, 1136, 1137, 1148, 1174, 1175, 1228, 1230, 1231, 1232, 1258, 1260, 1265, 1266, 1270, 1282, 1287, 1305, 1306, 1307, 1308, 1309, 1318, 1323, 1327, 1328, 1337, 1340, 1344, 1345, 1347, 1350, 1352, 1354, 1361, 1384, 1396, 1397, 1401, 1402, 1403, 1410, 1420, 1421, 1422, 1423, 1424, 1428, 1430, 1432, 1433, 1438, 1439, 1458, 1478, 1480, 1483, 1521, 1526, 1529, 1540, 1541, 1546, 1559, 1560, 1562, 1581, 1582, 1585, 1598, 1607, 1619, 1629, 1636, 1638, 1643, 1644, 1646, 1652, 1659, 1676, 1687, 1688, 1694, 1701, 1705, 1715, 1717, 1720, 1734, 1761, 1762, 1772, 1785, 1800, 1803, 1804, 1814, 1820, 1821, 1847, 1851, 1855, 1856, 1861, 1864, 1876, 1878, 1905, 1909, 1911, 1912, 1913, 1924, 1935, 1963, 1966, 1967, 1977, 1978, 1979, 1980, 1982, 1986, 1987, 1988, 1989, 1990, 1995, 1996, 1997, 1999, 2000, 2004, 2007, 2009, 2011, 2013, 2022, 2023, 2025, 2084, 2102, 2133, 2160, 2161, 2168, 2169, 2184, 2226, 2255, 2263, 2264, 2267, 2271, 2303, 2309, 2320, 2323, 2339, 2346, 2349, 2350, 2353, 2356, 2358, 2359, 2360, 2363, 2382, 2383, 2389, 2455, 2463, 2465, 2468, 2489, 2506, 2519, 2548, 2564, 2567, 2571, 2585, 2615, 2627, 2634, 2676, 2680, 2693, 2709, 2765, 2788, 2796, 2836, 2877, 2931, 2946, 2955, 2977, 2986, 3002, 3036, 3041, 3049, 3061, 3073, 3092, 3096, 3100, 3117, 3125, 3167, 3168, 3177, 3197, 3221, 3227, 3237, 3238, 3247, 3250, 3253, 3271, 3306, 3314, 3345, 3352, 3367, 3373, 3415, 3419]) дело в том, что total_outliers хранится в массиве, и мне нужно удалить данные, хранящиеся в этом массиве
Я пробовал это:
df = df.copy() df.drop(total_outliers, inplace = True) df.reset_index(drop = True, inplace = True) print(f"Форма нового набора данных: {df.shape}") но получаю следующую ошибку:
'[706] не найден на оси' кстати, я дал ему ось и снова столкнулся с этой ошибкой.
что мне делать?
У меня есть фрейм данных, из которого я хочу удалить выбросы и сохранить их в total_outliers следующим образом:
Area_outliers = np.where(df['Area'] > Upper_Area) Price_outliers = np.where(df['Price'] > Upper_Price) # Возвращаем уникальный отсортированный массив значений, находящихся в любом из двух входных массивов. total_outliers = np.union1d(Area_outliers, Price_outliers) Вот мои выбросы:
total_outliers массив([ 25, 58, 83, 101, 145, 159, 160, 166, 173, 176, 187, 189, 193, 195, 196, 200, 210, 215, 218, 220, 226, 234, 235, 238, 260, 262, 264, 269, 270, 281, 283, 284, 297, 299, 315, 327, 329, 338, 339, 340, 342, 343, 344, 345, 346, 347, 348, 349, 351, 353, 355, 356, 362, 363, 364, 394, 410, 411, 412, 429, 430, 436, 439, 458, 463, 496, 512, 514, 515, 516, 525, 534, 547, 553, 559, 564, 565, 566, 567, 569, 572, 576, 577, 578, 579, 582, 599, 600, 610, 627, 635, 638, 640, 641, 648, 649, 652, 706, 712, 721, 729, 730, 731, 738, 739, 740, 753, 765, 792, 803, 804, 816, 819, 828, 834, 836, 849, 872, 876, 891, 955, 956, 962, 1005, 1006, 1012, 1021, 1022, 1028, 1031, 1033, 1103, 1110, 1114, 1128, 1136, 1137, 1148, 1174, 1175, 1228, 1230, 1231, 1232, 1258, 1260, 1265, 1266, 1270, 1282, 1287, 1305, 1306, 1307, 1308, 1309, 1318, 1323, 1327, 1328, 1337, 1340, 1344, 1345, 1347, 1350, 1352, 1354, 1361, 1384, 1396, 1397, 1401, 1402, 1403, 1410, 1420, 1421, 1422, 1423, 1424, 1428, 1430, 1432, 1433, 1438, 1439, 1458, 1478, 1480, 1483, 1521, 1526, 1529, 1540, 1541, 1546, 1559, 1560, 1562, 1581, 1582, 1585, 1598, 1607, 1619, 1629, 1636, 1638, 1643, 1644, 1646, 1652, 1659, 1676, 1687, 1688, 1694, 1701, 1705, 1715, 1717, 1720, 1734, 1761, 1762, 1772, 1785, 1800, 1803, 1804, 1814, 1820, 1821, 1847, 1851, 1855, 1856, 1861, 1864, 1876, 1878, 1905, 1909, 1911, 1912, 1913, 1924, 1935, 1963, 1966, 1967, 1977, 1978, 1979, 1980, 1982, 1986, 1987, 1988, 1989, 1990, 1995, 1996, 1997, 1999, 2000, 2004, 2007, 2009, 2011, 2013, 2022, 2023, 2025, 2084, 2102, 2133, 2160, 2161, 2168, 2169, 2184, 2226, 2255, 2263, 2264, 2267, 2271, 2303, 2309, 2320, 2323, 2339, 2346, 2349, 2350, 2353, 2356, 2358, 2359, 2360, 2363, 2382, 2383, 2389, 2455, 2463, 2465, 2468, 2489, 2506, 2519, 2548, 2564, 2567, 2571, 2585, 2615, 2627, 2634, 2676, 2680, 2693, 2709, 2765, 2788, 2796, 2836, 2877, 2931, 2946, 2955, 2977, 2986, 3002, 3036, 3041, 3049, 3061, 3073, 3092, 3096, 3100, 3117, 3125, 3167, 3168, 3177, 3197, 3221, 3227, 3237, 3238, 3247, 3250, 3253, 3271, 3306, 3314, 3345, 3352, 3367, 3373, 3415, 3419]) дело в том, что total_outliers хранится в массиве, и мне нужно удалить данные, хранящиеся в этом массиве
Я пробовал это:
df = df.copy() df.drop(total_outliers, inplace = True) df.reset_index(drop = True, inplace = True) print(f"Форма нового набора данных: {df.shape}") но получаю следующую ошибку:
'[706] не найден на оси' кстати, я дал ему ось и снова столкнулся с этой ошибкой.
что мне делать?