HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Мы уже рассказывали о<a>структуре DataFrame</a>в Pandas -- высокоуровневой<strong>Python</strong>-библиотеке для анализа данных. Но как осуществляется доступ по индексу в<strong>DataFrame</strong>?</p>
1 <p>Мы уже рассказывали о<a>структуре DataFrame</a>в Pandas -- высокоуровневой<strong>Python</strong>-библиотеке для анализа данных. Но как осуществляется доступ по индексу в<strong>DataFrame</strong>?</p>
2 <p>На самом деле, индекс по строкам мы можем задавать различными способами, к примеру, в процессе формирования самого объекта<strong>DataFrame</strong>либо, как говорится "на лету":</p>
2 <p>На самом деле, индекс по строкам мы можем задавать различными способами, к примеру, в процессе формирования самого объекта<strong>DataFrame</strong>либо, как говорится "на лету":</p>
3 <p>Таким образом, мы видим, что индексу задается имя<strong>Country Code</strong>. Также стоит отметить, что объекты<a>Series</a>из DataFrame приобретут те же самые индексы, что и объект<strong>DataFrame</strong>:</p>
3 <p>Таким образом, мы видим, что индексу задается имя<strong>Country Code</strong>. Также стоит отметить, что объекты<a>Series</a>из DataFrame приобретут те же самые индексы, что и объект<strong>DataFrame</strong>:</p>
4 <p>При этом доступ к строкам по индексу можно осуществить 2-мя способами:</p>
4 <p>При этом доступ к строкам по индексу можно осуществить 2-мя способами:</p>
5 <ul><li><strong>.loc</strong>-- для доступа по строковой метке;</li>
5 <ul><li><strong>.loc</strong>-- для доступа по строковой метке;</li>
6 <li><strong>.iloc</strong>-- для доступа по числовому значению (от 0 и выше).</li>
6 <li><strong>.iloc</strong>-- для доступа по числовому значению (от 0 и выше).</li>
7 </ul><p>Идем дальше. У нас есть возможность выполнять выборку по индексу и интересующим колонкам:</p>
7 </ul><p>Идем дальше. У нас есть возможность выполнять выборку по индексу и интересующим колонкам:</p>
8 <p>Обратите внимание, что<strong>.loc</strong>в квадратных скобках принимает два аргумента. Кроме интересующего индекса, поддерживаются колонки и слайсинг.</p>
8 <p>Обратите внимание, что<strong>.loc</strong>в квадратных скобках принимает два аргумента. Кроме интересующего индекса, поддерживаются колонки и слайсинг.</p>
9 <p>Следующий момент -- у нас есть возможность фильтровать<strong>DataFrame</strong>, используя для этого булевы массивы:</p>
9 <p>Следующий момент -- у нас есть возможность фильтровать<strong>DataFrame</strong>, используя для этого булевы массивы:</p>
10 <p>Кроме того, существует возможность обращения к столбцам -- для этого применяется атрибут либо нотация словарей<strong>Python</strong>, то есть<strong>df.population</strong>и<strong>df['population']</strong>-- это, по сути, одно и то же.</p>
10 <p>Кроме того, существует возможность обращения к столбцам -- для этого применяется атрибут либо нотация словарей<strong>Python</strong>, то есть<strong>df.population</strong>и<strong>df['population']</strong>-- это, по сути, одно и то же.</p>
11 <p>Если надо сбросить индексы, сделать это можно следующим образом:</p>
11 <p>Если надо сбросить индексы, сделать это можно следующим образом:</p>
12 <p>Также<strong>Pandas</strong>при операциях над<strong>DataFrame</strong>осуществляет возвращение нового объекта<strong>DataFrame</strong>.</p>
12 <p>Также<strong>Pandas</strong>при операциях над<strong>DataFrame</strong>осуществляет возвращение нового объекта<strong>DataFrame</strong>.</p>
13 <p>Давайте выполним добавление нового столбца, где население, исчисляемое в миллионах человек, мы поделим на площадь государства, тем самым получив плотность:</p>
13 <p>Давайте выполним добавление нового столбца, где население, исчисляемое в миллионах человек, мы поделим на площадь государства, тем самым получив плотность:</p>
14 <p>Теперь представим, что новый столбец нас чем-то не устраивает. Не беда -- его можно без проблем удалить:</p>
14 <p>Теперь представим, что новый столбец нас чем-то не устраивает. Не беда -- его можно без проблем удалить:</p>
15 <p>Ну а если вы очень ленивы, то достаточно написать<strong>del df['density']</strong>.</p>
15 <p>Ну а если вы очень ленивы, то достаточно написать<strong>del df['density']</strong>.</p>
16 <p>Для переименования столбцов воспользуемся методом<strong>rename</strong>:</p>
16 <p>Для переименования столбцов воспользуемся методом<strong>rename</strong>:</p>
17 <p>В вышеприведенном примере перед переименованием столбца<strong>Country Code</strong>следует сначала удостовериться, что с него сброшен индекс. В обратном случае никакого эффекта не будет.</p>
17 <p>В вышеприведенном примере перед переименованием столбца<strong>Country Code</strong>следует сначала удостовериться, что с него сброшен индекс. В обратном случае никакого эффекта не будет.</p>
18 <p><em>По материалам блога https://khashtamov.com/ru/.</em></p>
18 <p><em>По материалам блога https://khashtamov.com/ru/.</em></p>
19  
19