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