Как держать столбиком после кормления: Научитесь помогать новорожденному ребенку срыгивать

Содержание

Держать ли ребенка столбиком после кормления или нет – совет доктора Комаровского — Здоровый образ жизни и здоровье

Евгений Комаровский объяснил, что если малыш хорошо набирает вес и у него нет проблем со срыгиванием, то держать ребенка вертикально после кормления не нужно

После кормления держать ребенка «столбиком» не всегда обязательно / Фото: Коллаж: Сегодня

В срыгивании младенцев после кормления нет особого вреда – это наоборот помогает избавить малыша от переедания. Когда стоит держать младенца после кормления «столбиком», как привыкли наши мамы и бабушки, а когда нет, к каким проблемам может привести срыгивание – рассказал известный детский врач Евгений Комаровский в своем инстаграм-журнале.

Как держать ребенка после кормления

После того, как малыша-грудничка покормили, его следует подержать вертикально минут 10: это помогает снизить вероятность срыгивания. Но не всем детям это необходимо, а только тем малышам, которые из-за срыгивания плохо набирают вес.

Читайте также:

Как кормящей маме принимать лекарства – 8 правил доктора Комаровского

Здорово

Остальных детей держать после еды «столбиком» не обязательно, мало того, в срыгивании младенцев есть свои положительные стороны.

Опасно ли, если ребенок срыгивает после еды?

Часто малыши, даже при грудном вскармливании, склонны к перееданию, поэтому срыгивание помогает в таких случаях убрать лишнюю пищу из желудка ребенка. Если ребенок хорошо ест, набирает вес нормально, при этом срыгивает (или не срыгивает вообще), а вы его держите вертикально после каждого кормления, то это ему не в плюс.

Немаловажно выбрать подходящий малышу и маме режим кормления. / Фото: Depositphotos

Потому что таким способом вы увеличиваете вероятность, что лишняя еда останется в желудке малыша. Некоторые дети при кормлении сильно заглатывают воздух, поэтому вертикальное положение после еды помогает им его «выпустить».

Также чтобы не перекармливать малыша, важно выбрать подходящий ему и маме режим кормления.

Если ваш ребенок заснул в процессе кормления, то вовсе необязательно его будить для срыгивания: главное положить спящего ребенка именно на бок.

Также мы ранее писали про 4 незаменимых гаджета для кормящих мам.

Светлана Евсеева
Редактор проекта «Здорово»

Работаю в медиа с 2008 года. В моем профессиональном багаже не только тысячи статей на медицинскую тематику, интервью с врачами, фармбизнесменами и лидерами мнений в направлении ЗОЖ. Но также личный медицинский опыт: безболезненно поставлю капельницу или измеряю давление. Создавала контент для сайтов «Здоровинфо», «IT MED» и др. С 2011 года состою в Национальном союзе журналистов Украины.

Больше статей автора

Как правильно держать новорожденного «столбиком» после кормления или во время купания :: SYL.ru

Ухаживая за маленьким ребенком, не следует забывать о его хрупкости. Необходимо знать, как правильно держать новорожденного. Помните, что позвоночник у малыша еще находится на стадии формирования. Его шейные мышцы не полностью окрепли, поэтому голову крохи необходимо постоянно поддерживать.

Самый правильный способ

Врачи рекомендуют таким образом держать ребенка: положить его поверх левой руки, головку придерживать локтем. А ножки малыша будут располагаться на правой руке. Что нужно знать, чтобы научиться этому способу? Как правильно держать новорожденного, показывает и персонал родильного отделения. Взяв на руки младенца, необходимо обеспечить ему три опорные точки. Вам нужно поддерживать затылок, лопатки и таз. Голова не должна быть запрокинутой, а руки — свисать. Через некоторое время нужно менять опорную руку, которой держите малыша.

Впервые взять на руки малыша

Тем, кто впервые берет на руки маленького ребенка, следует знать, как держать новорожденного. Постарайтесь не испугать кроху внезапными порывистыми движениями. Начните ему что-то нежно говорить. Затем медленно поднимите кроху. Кладем одну руку ему под голову, а другой в это время поддерживаем попу. Плавно поднимаем ребенка. Голова должна находиться чуть выше по сравнению с телом малыша.

Новое положение

Когда ребенку исполнится более 2 недель, его рекомендуют ненадолго класть на живот до кормления. Это способствует развитию мышц и работе кишечника. Как правильно держать новорожденного, лежащего на животике? Одну руку просовываем под тельце крохи на уровне его грудной клетки. Большим и указательным пальцами поддерживаем шейку малыша. Другую руку размещаем под детским животиком. Его шейка должна быть наравне с левым локтевым суставом. Ваша ладонь лежит под рукой малыша. Этой рукой мы прислоняем ребенка к своему телу. С помощью правой ладони придерживаем животик и грудь новорожденного. Ваши действия должны быть аккуратными, но уверенными.

Чтобы вернуть новорожденного в кровать, необходимо прижать его к своему телу, наклоняясь к люльке. С большой осторожностью кладите ребенка, задерживаясь на некоторое время у постели. Когда кроха свыкнется с новым положением, можно не спеша убрать руки и накрыть малыша одеялом.

Когда начинают держать голову новорожденные?

При условии нормального формирования на третьем месяце жизни ребенок начинает с полной уверенностью удерживать головку в ситуациях, когда он в позиции «столбиком». Он способен лежать с поднятой головой больше минуты. Постепенно мышечная система крепнет. Случается, что младенец уже в конце второго месяца начинает держать голову. Но его нужно постоянно страховать. В случае, когда в возрасте одного месяца ребенок удерживает голову, следует обратиться за советом к врачу. Возможно, у малыша повышенное внутричерепное давление.

В возрасте двух-трех недель, при условии заживления пупочной ранки, ребенка рекомендуется на короткие промежутки времени выкладывать на живот. В результате будет срабатывать безусловный рефлекс, и малыш станет приподнимать головку, класть ее на бок. Таким образом будут тренироваться шейные мышцы новорожденного.

Зарядка перед кормлением

Педиатры рекомендуют ежедневно выкладывать ребенка на животик в течение нескольких минут до питания. Такая зарядка предотвратит появление и поспособствует отхождению газов. Бывает, что малыш не хочет лежать в такой позе. Значит, вам нужно его отвлечь. Покажите ему интересную игрушку, погладьте по спине, скажите что-нибудь ласковое.

Постепенное развитие

На шестой неделе кроха приподнимает головку уже на минуту. А к двум месяцам пытается самостоятельно удерживать ее некоторое время.

На третьем месяце ребенок начинает уверенно держать головку, лежа на животике. Но страховать его — это все же не лишнее.

В возрасте 4 месяцев малютка в состоянии самостоятельно приподнимать плечики и грудь. Любые признаки отставания ребенка означают, что необходимо обратиться за консультацией к невропатологу.

Положение «столбиком»

Многих новоиспеченных родителей интересует вопрос: «Как правильно держать «столбиком» новорожденного?» Сначала нужно уточнить, что такая поза необходима ребенку, чтобы отрыгнуть набранный во время кормления воздух. К тому же вертикальное положение полезно для упрочнения спинных мышц.

Удерживайте ребенка «столбиком» очень осторожно. Спокойно, без резких движений поднимайте малыша. Поверните его лицом, удерживая вертикально. Его голову положите себе на плечо. Левой рукой прижимаем ножки и попу ребенка к своему телу. А правой — поддерживаем его головку. Важно, чтобы нагрузка равномерно распределялась по его позвоночнику.

Научно доказано, что если держать ребенка в положении «столбиком» после кормления, то у него реже появляются кишечные боли. Особенно если мама прижимает малыша животиком к своему телу. Вот почему так важно усвоить, как правильно держать «столбиком» новорожденного.

Водные процедуры

Множество родителей, особенно пап, боятся купать малыша. Основной аргумент – как бы не причинить ему вред. Чтобы перебороть страх, нужно выучить основной принцип процесса, уяснить то, как правильно держать новорожденного во время купаний.

Набираем в ванну небольшое количество воды. Добавляем капельку шампуня для детей. Медленно опускаем ребенка в теплую воду. Не нервничайте, чтобы малыш не испугался. Для правшей важно, чтобы во время водных процедур головка ребенка лежала на левом запястье. Так вы кистью будете придерживать младенца за плечи. В это время правой рукой можно осторожно поливать ребенка водой. Намыливаем и моем младенца в таком порядке: шея, грудная клетка и живот, руки, ноги, спина. Голову нужно вымыть в последнюю очередь. Чтобы это сделать, ее надо откинуть слегка вверх, поддерживая рукой. Наливаем осторожно воду на голову малыша, так чтобы жидкость стекала через затылок. Намыливаем ее при помощи легких движений, бережливо смываем шампунь. Затем ополаскиваем ребенка теплой водой из отдельного кувшина, укладываем поверх нехолодного полотенца. Аккуратно вытираем малыша сверху вниз.

Приемы пищи

Кормить ребенка можно в лежачем положении. Так рекомендуют делать после родов. Удобным также будет кормление в сидячей позе. Тут главный момент: малыш должен располагаться по отношении к вашему телу под небольшим уклоном.

Довольно часто после приемов пищи ребенок склонен отрыгивать. Это связано с особенностями его пищеварительного тракта. В такие моменты нельзя допустить, чтобы пищевые массы попали в дыхательные пути. Поэтому важно усвоить, как держать новорожденного после кормления. Лучший выход – расположить младенца вертикально. Однако стоит учитывать и другие нюансы. Если после кормления новорожденного не клонит в сон, то нужно подержать его пару минут в вертикальном положении. Лучше будет, когда его голова касается вашего плеча, так он быстрее срыгнет. Рекомендуют подложить полотенце или салфетку. Чтобы малыш не засыпал во время приема пищи, его нужно держать в полувертикальном положении. Так делают и для того, чтобы во время срыгивания не произошла асфиксия. Бывает, младенец начинает вести себя беспокойно во время приема пищи. Значит, он заглотнул слишком много воздуха. Нужно прекратить кормление на время, придать ребенку вертикальное положение и подождать срыгивания. Затем можно продолжать процесс приема пищи.

Запреты

Запрещается поднятие малыша за руки, чтобы предотвратить вывих плеча или локтя. Держать младенца нужно аккуратно, не надавливая на грудь. Его косточки еще слишком хрупкие. Не хватайте ребенка. Любые резкие движения могут его испугать. Если возникли трудности в понимании того, как правильно держать новорожденного, фото, размещенные в нашей статье, помогут разобраться.

Как держать новорожденного столбиком после кормления? 👪Каким образом нужно носить младенца после еды

Какая должна быть самая хорошая привычка у молодых родителей? Полезно ли носить грудничка столбиком после кормления? Педиатры XXI века сходятся во мнении, что держать младенца вертикально после еды необязательно, если он кормится материнским молочком с выполнением всех врачебных инструкций, родился доношенным и здоровым. Как держать новорожденного столбиком после кормления, чтобы было удобно и ребенку, и маме? Какие ошибки склонны совершать новоиспеченные родители? Почему важно их избегать?

Как держать ребенка столбиком после еды?

Носить кроху столбиком очень удобно, если делать это по всем правилам. Полезные рекомендации, что делать после кормления новорожденного:

  • покормив ребенка, стоит медленно его приподнять и переместить с горизонтального положения в вертикальное;
  • голова младенца должна находиться на вашем плече;
  • поскольку маленький человек опирается на ваши плечи, нет необходимости постоянно поддерживать его за головку или шею;
  • следует поместить руку на уровне лопаток и спинки ребенка, для того чтобы поддерживать его неокрепший позвоночный столб;
  • удерживать кроху на ручках нужно в периоды бодрствования, а не после его засыпания с грудью или бутылочкой во рту.

Ношение столбиком может принести не только пользу, но и вред, если делать это неправильно:

Зачем  и когда нужно поддерживать ребенка столбиком, с точки зрения специалистов?

Главной причиной, по которой ребенка стоит носить столбиком после еды, является вероятность срыгивания смесью или грудным молоком. Однако срыгивать склонны только те дети, которые едят слишком много, быстро или постоянно заглатывают воздух из-за неправильного захвата маминой груди. Также к срыгиванию приводит беспокойство новорожденного во время кормления.

Известный педиатр Евгений Комаровский утверждает, что если младенец, находящийся на грудном вскармливании, правильно захватывает грудь и кормится по всем правилам, в систематическом ношении в вертикальном положении он не нуждается. Рекомендация носить детей столбиком после кормления пришла с советских времен, когда в функционирующих в то время яслях всех малышей кормили одинаково одной и той же смесью каждые 3 часа. При этом не учитывались индивидуальные особенности ребенка относительно объема порций, а ведь получивший излишек смеси младенец в силу естественных причин обязательно ее срыгивает.

Несмотря на необязательность выполнения ритуала каждый раз после кормления, можно выделить некоторые преимущества позы столбиком. Ношение ребенка в этом положении является прекрасной мерой профилактики проблем с позвоночником. С помощью такой нехитрой «зарядки» родители помогают младенцу укреплять мышцы спины и шеи. Ребенок, находясь в вертикальном положении, быстрее привыкает к такой позе и учится держать головку.

В некоторых ситуациях Комаровский все же советует носить новорожденного столбиком.

Эта поза особенно эффективна, если:

  • Новоиспеченная мама еще не научилась правильно прикладывать малыша к груди. Когда кормление постоянно прерывается и проходит с неудобствами, удерживание столбиком помогает выведению лишних пузырьков газа, которые образовались в детском животике.
  • Кроха родился совсем недавно. В первые недели жизни лучше носить ребенка вертикально, потому что у него хорошо развит рефлекс сосания, и он неосознанно глотает воздушные массы вместе с молоком.
  • Младенец находится на искусственном вскармливании. Малыша кормят порционно, и в некоторые кормления он получает больше смеси, чем требует его организм.
  • В соске у бутылочки слишком большое отверстие, которое не подходит для данной возрастной категории. В результате малыш ест очень быстро, заглатывая большой объем молока.
  • Ребенок склонен к перееданию и постоянно срыгивает, если не поднять его на руки.
Сколько времени нужно носить столбиком сытого грудничка?

Как правило, ребенка носят на руках до момента, пока он не отрыгнет воздух, издав характерный звук. В большинстве случаев это происходит в течение 3-4 минут нахождения в вертикальном положении. Однако может пройти и гораздо больше времени — все зависит от индивидуальных особенностей организма маленького человека. Для того чтобы ускорить процесс отхождения газиков, можно аккуратно поглаживать малыша по спинке сверху вниз или легонько похлопывать ладонью, двигая ею в таком же направлении.

Если ношение столбиком используется как профилактическая мера для укрепления позвоночника, мышц спины и шеи, достаточно нескольких минут. От более длительного нахождения в вертикальном положении пользы для новорожденного не прибавится.

Ношение новорожденного столбиком является необходимым только в некоторых случаях. Если ребенок полностью здоров, питается маминым молоком и не склонен к срыгиваниям, не стоит беспокоить его каждый раз после приема пищи и носить на руках. Однако решение об отказе держать малыша вертикально должно приниматься совместно с педиатром.

Автор-эксперт: Андрей Геннадьевич Смирненко,
врач-педиатр, к. м. н., гомеопат

А что вы думаете о том, зачем носить ребенка столбиком после кормления, дорогие читатели? Пишите свои мысли и мнения в комментариях!

Что делать если у новорожденного колики — как успокоить ребенка при коликах

Наконец-то вы стали родителями и долгожданная кроха мирно сопит у вас на руках. Но вот его прекрасное лицо омрачает гримаса недовольства. Он начинает покряхтывать, крутиться и напрягаться, видно что он сам напуган не меньше вашего и ищет утешения. Как успокоить ребенка при коликах и что делать при коликах у новорожденных? Есть множество рекомендаций, техник и мнений специалистов на этот счет, но с чего начать? Как определить точно ли это колики у младенцев, что делать чтобы не ошибиться и не сделать хуже?В этой статье мы хотели бы обсудить с вами основные черты характеризующие колики у новорожденного, что делать и как успокоить младенца при коликах. Практические советы, опыт многих мамочек и рекомендации специалистов, мы проанализировали и собрали в этой статье самые эффективные методы как обезболить колики у новорожденного. Наберитесь терпения и поехали изучать вопрос.


Как успокоить ребенка при коликах и что делать когда у ребенка колики

Сначала давайте дадим определение что такое эти ужасные колики, а потом уж будем думать что делать при коликах у новорожденных. 

Колики это не что иное, как дискомфорт вызванный несовершенной работой пищеварительной системы ребенка. Внутриутробно ребенок питается напрямую, ему поступают от мамы все необходимые и полезные вещества, ничего не надо усваивать и переваривать. По большому счету в течении всей внутриутробной жизни кишечник находится в полудреме. После рождения ребенку приходиться столкнуться с совершенно другой реальностью. Той в которой он ни о себе ни о мире, оказывается, ничего не знает и всему приходится учиться с нуля. В том числе и кушать, усваивать то что скушал и выводить остатки. Пока организм учится справляться с этой задачей, малыш может реагировать на усиленную перистальтику кишечника, вздутие после еды и дискомфорт, сильным плачем и тревожностью.

В народе этот комплекс реакций на возникающий дискомфорт после еды называют колики. Интенсивность дискомфорта, его длительность и то как ребенок будет на него реагировать, все очень индивидуально. Для родителей важно помнить, что можно облегчить колики у грудничка, что делать это необходимо, даже если не получается сразу, стоит пытаться и дальше. 


Колики у грудничков, что делать с коликами у новорожденных

Как понять и что делать если у малыша грудничка колики и газики во время кормления? Если во время еды ребенок начинает напрягаться, хмурится, поджимает колени или сучит ножками, покряхтывает или начинает хныкать теряя при этом грудь — вполне вероятно у вашего малыша приступ колик. Но как знать точно?

  • Если ребенок наедается, то у вас будет мокрых подгузников столько же сколько раз ребенок поел за день и больше. Это верный показатель того что он наедается. Если есть сомнения можно брать в аренду или покупать детские весы, благо качественных недорогих вариантов сейчас более чем достаточно. В среднем ребенок набирает по 150-200 грамм в неделю, вы сможете понять хватает ребенку еды или нет производя взвешивания раз в несколько дней.
  • Второй пункт который вам необходимо проверить — удобная поза для кормления. При этом и маме и малышу должно быть удобно, а не кому-то одному. Попробуйте кормить в разных позах и вы поймете меняется ли поведение ребенка или нет.
  • Если ребенку только несколько дней и он начал капризничать на груди, с момента как грудь налилась молоком, то рекомендуем уделить внимание состоянию груди. Часто детками не нравиться, что с приливом молока грудь стала менее мягкой и молоко не идет также легко. 

Итак, основные моменты проверили и исключили, тогда это все же колики у ребенка, что делать от коликов у новорожденных. В первую очередь стоит подержать малыша столбиком. Обязательно посмотрите какое-то видео на Youtube о том как правильно это делать, потому как в большинстве случаев ребенка держать столбиком так, что никому не удобно. Животик ребенка должен быть у вас на груди. Качать и трясти его при этом не надо, достаточно поглаживать по спине и пояснице, чтобы помочь ему расслабится. В течении 3-5 минут ребенок или отрыгнет или попукает, может покакает и расслабится — вы справились. Если ребенок остается активным, пытается присосаться к вашей шее или плечу, ищет грудь, то его можно еще докормить.


Если после еды тревожат колики у младенца, что делать при коликах у младенцев    

Малыш поел и мирно заснул, а через некоторое время вы слышите как он распищался, такой безутешный, в кроватке, напряженный комочек с покрасневшим лицом, горько жалуется на дискомфорт. Что случилось? Колики у младенца, что делать, как успокоить новорожденного ребенка при коликах. 

Начнем с того, что возьмем кроху на руки в положение столбиком, погладим кроху, поговорим с ним. Не ожидайте что ребенок быстро успокоится. Если через какое-то время ребенок чуть притих и понизил амплитуду жалоб, вы можете положить ребенка в кроватку или на пеленальный столик, чтобы сделать массаж, помогающий нормализовать работу кишечника и уменьшить спазмы. Что делать когда колики у новорожденных, если у малыша уже зажила пупочная ранка? Можно воспользоваться антиколиковой грелкой. Если вы еще не  слышали про этот способ как успокоить ребенка при коликах, то рекомендуем узнать о нем более подробно, прочитав статью Антиколиковая грелка — отзывы родителей. 

Эти процедуры лучше делать в комплексе, прогревание и массаж дают облегчение, но помним что панацеи нет, ребенок может стать спокойнее, но колики еще будут возвращаться и возможно не раз. Как обезболить колики у новорожденного и что делать чтобы не было коликов у новорожденных? Если колики у вашего малыша появились, то вылечит их время. В норме к 3-4 месяцам колики прекращаются и вы постепенно забудете про них. Поскольку колики являются вариантом физиологической нормы и не являются патологическим состояние для новорожденного, то колики не “лечат”, а пытаются облегчить. Никаких лекарств при коликах не предлагают, если нет других симптомов, на которые следовало бы обратить внимание врача (ребенок вялый, изменения в характеристиках стула, появление запаха, проблемы со сном и т.д.)

Но чем облегчить колики у новорожденного и что делать если у новорожденного  младенца в животе очень сильные газики и колики? Массажи не дают эффекта, ношение столбиком часами, вся семья уставшая и истощенная? Педиатр может посоветовать добавить какие-то капельки для улучшения кишечной флоры и более легкого усвоения пищи. Давать их надо регулярно с каждым приемом пищи, иначе они не дадут никакого эффекта. Ощутимые изменения в интенсивности дискомфорта вызываемое коликами вы сможете почувствовать приблизительно на 3-4 сутки регулярного приема препарата, который вам порекомендовал педиатр. Со своим врачом вы сможете обсудить что делать когда у новорожденного  малыша колики и как не навредить.


Колики у новорожденных, как облегчить колики у новорожденного  младенца

Еще один способ как облегчить газики и колики у новорожденных, это снять подгузник и прижать коленки к животу малыша. Отсутствие подгузника помогает ребенку попукать или покакать, если он хочет это сделать, но у него не получается. Чтобы малышу не было холодно, то тут тоже можно воспользоваться игрушкой- грелкой, если она уже нагрета и даже немного начала остывать. Если вы боитесь обжечь кожу ребенка и не уверены, что грелка остыла достаточно, прикладывайте ее через сложенную в 4 и более раза пеленку. Когда колики у месячного ребенка, что делать становится яснее, поскольку малыш уже более понятен нам, вы уже будете понимать разницу между голодным криком, коликами и другими видами плача. Кроха начинает более уверенно держать голову, его можно и не страшно носить в разных позах, не только столбиком или колыбелькой. С помощью позы как успокоить  малыша грудничка при коликах, как облегчить колики у ребенка меняя его положение?   Рассмотрите такие варианты поз для снижения дискомфорта от колик, как поза “Впередсмотрящий” и “Лемур свисающий с ветки”. После месяца ребенок из новорожденного превращается в младенца, заканчивается кризис новорожденности, теперь интересно изучать мир. Что делать если у ребенка 1 месяц колики и газики в животе он уже сам вам подскажет. Если ребенок активный, то его можно носить меняя позы и пытаться чем-то отвлечь от неприятных ощущений. Активным детям нравится все рассматривать, наблюдать за кем-то, воспользуйтесь этим, чтобы малыш не концентрировал свое внимание на дискомфорте. Если ребенок- мыслитель и больше пребывает в полудреме или своих размышлениях, то легкие массажи, тепло, спокойная и тихая обстановка и конечно мама или папа рядышком помогут справиться с коликами.

Есть еще способы как успокоить ребенка во время коликов и что делать при сильных газиках и коликах у новорожденного грудничка. Эта хитрость также поможет ребенку покакать, если у него есть желание, но из-за напряженного состояния не получалось. В случае если дома, кроме мамы есть еще кто-то (отец крохи, бабушка или знакомые) то полезно “поменять руки”. Как успокоить  малыша грудничка при коликах меняя руки? Ребенка утешает мама, держит столбиком, гладит, потом передает возмущенный комочек мужу или бабушке. Делегация с малышом тоже разговаривает, держит столбиком или в другой позе по желанию и ретируется в соседнюю комнату. Малышам на то чтобы оценить ситуацию, и понять в безопасности они или нет надо какое-то время, принюхаться и прислушаться, обычно в этот момент ребенок затихает и оценивает ситуацию. Фокус внимания смещен с дискомфорта на безопасность. Это отличный вариант что нужно делать при коликах  в животе у новорожденных, но он дает лишь временный эффект, поэтому основная ваша задача найти способ как помочь ребенку избавится от газиков. 

Рассмотрим на что еще надо обратить внимание если колики у новорожденного, что делать когда у младенца колики. 

  • Если ребенок неправильно приложен к груди и захватывает воздух во время кормления, колики будут тревожить его чаще.
  •  Если малыш кушает из бутылочки или не расстается с соской, то тоже могут быть более интенсивные колики.

Наладив грудное вскармливание, научившись правильно прикладывать ребенка, вы не будете ломать голову что делать при коликах у ребенка младенца, так как они будут тревожить вас намного реже.


Подобьем итоги что делать когда у ребенка газики и колики в животе

Для того чтобы помочь своему малышу прожить первые месяцы с минимальным дискомфортом от колик и не делать лишних и ненужных движений, важно набраться терпения, заручиться помощью и поддержкой адекватного педиатра и особенно первый месяц жизни посвятить знакомству с вашим ребенком. Уже стало понятно что нет одного ответа на вопрос “как обезболить колики у новорожденного”. Будет необходимо действовать комплексно и пробовать разные подходы. Будет полезно запастись игрушкой грелкой от коликов или другой разновидностью антиколиковой грелки. Вы можете сравнить популярные антиколиковые грелки в статье Какая грелка лучше для новорожденного — рейтинг детских грелок 2020. А вот капли от коликов в прок лучше не покупать, так как они могут не понадобиться или их не одобрит ваш педиатр. 

Помните, что вы не остаетесь наедине с коликами, обращайтесь за помощью и не закрывайтесь от мира. Вы уже замечательные родители для своих малышей, мира вам и вашим обожаемым животикам.

(смотреть «Детские грелки» в нашем магазине)

Как правильно держать новорожденного столбиком после кормления. Почему рекомендуется держать новорожденного столбиком после кормления? Как правильно держать новорожденного столбиком

Всем новоиспеченным мамам говорят, что новорожденного после кормления нужно держать столбиком. Если все правильно делать, то такие действия принесут определенную пользу. Зачем нужно носить грудничка в вертикальном положении и действительно ли есть в этом необходимость? Активная мама знает ответы на эти вопросы.

Содержание статьи:

1.
2.
3.
4.
5.

Зачем держать новорожденного в вертикальном положении?

Есть несколько факторов, объясняющих необходимость держать ребенка столбиком:

  • способствование пищеварительному процессу;
  • помощь в срыгивании лишнего воздуха;
  • фиксация не сформировавшегося в полной мере позвоночника;
  • замена укачивания.

Известно, что пищеварительная система только появившегося на свет ребенка далека от совершенства, поэтому вся поступающая в нее пища не может полностью усвоиться. Из-за этого в желудке и кишечнике ребенка скапливаются пузырьки воздуха, приводящие к болезненным ощущениям. Такое явление называют коликами. Еще одна причина их появления – неправильная техника кормления. Если правильно держать грудничка после кормления, то можно избавить его от нежелательного дискомфорта.

Особенно важно носить ребенка столбиком в первые дни после его рождения. И мама, и малыш еще не освоили до конца кормление, не приспособились друг к другу до конца. Еще не понятны индивидуальные особенности новорожденного, не выявлено, как и сколько он переваривает пищу, срыгивает ли после еды.

Уделить внимание ношению ребенка столбиком стоит также при искусственном вскармливании. В этом случае ребенок нередко получает смесь в большем количестве, чем ему нужно на самом деле. Еще одна полезная сторона такого метода проявляется при кормлении из бутылочки. Если соска подобрана неправильно и дырочка в ней слишком большая, то смесь поступает слишком быстро, а малышу приходится быстрее ее глотать. Это может привести к нарушению пищеварительного процесса и образованию колик.

Еще одна необходимость такой позы – срыгивание ребенка. Оно может проявиться из-за переедания или поступления воздуха во время кормления грудью или через соску. Если ребенок срыгивает пищу в большом количестве, то это может привести к недостаточному прибавлению в весе. Ношение ребенка столбиком в таком случае позволяет уменьшить вероятность срыгивания и нормализовать прибавки в весе.

У новорожденного формирование различных органов и костей еще не завершилось, а мышцы не успели укрепиться. В связи с этим держать малыша вертикально с зафиксированной прямо спиной даже полезно – получается своеобразная профилактика искривления.

Некоторые дети не могут уснуть в горизонтальном положении, а потому капризничают. В таком случае родителям приходится укачивать малыша. Но что делать, если и укачивание ребенку не нравится? В таком случае ношение столбиком помогает, так как в такой позе ребенок засыпает, не воспринимая ее попыткой его убаюкать.

Как правильно держать новорожденного столбиком после кормления

Держа ребенка столбиком, необходимо помнить, что в первые месяцы его позвоночник еще формируется, а мышцы спины и шеи укрепляются. В связи с этим малыша нужно держать бережно, соблюдая простой алгоритм:

  • Ребенка нужно взять на руки лицом к себе, поддерживая при этом не только его голову, но и ноги.
  • Из горизонтального положения в вертикальное ребенка нужно переместить медленно, резкие движения могут навредить.
  • Малыша следует прижать к себе таким образом, чтобы его голова разместилась на груди или плече, а тело при этом было в вертикальном положении.
  • Держа ребенка, нужно обязательно поддерживать его спинку и голову, чтобы не нагружать позвоночник. При этом лучше одной рукой фиксировать у малыша голову и шею, а другой поддерживать спину в области лопаток.

Держа ребенка столбиком, важно помнить, что его позвоночник должен быть прямым. Нельзя допускать его искривления.

Еще один момент – поддерживание головки. Нельзя, чтобы она запрокидывалась. Этому правилу нужно следовать до тех пор, пока малыш не станет сам держать голову – это свидетельствует об успешном формировании и укреплении мышц.

Смотрите видео, в котором показывается техника держания грудничка в вертикальном положении:

Сколько нужно держать ребенка в вертикальном положении?

Время, в течение которого необходимо держать ребенка столбиком, зависит от индивидуальных особенностей. Обычно достаточно нескольких минут, чтобы ребенок срыгнул лишнюю пищу или скопившийся воздух.

В некоторых случаях нужно потратить на такое положение больше времени. Если ребенок не срыгивает, то можно немного ускорить процесс. Для этого нужно чуть покачивать малыша вперед и назад, слегка наклоняя его. Чтобы воздух быстрее выходил из пищевода, можно также немного похлопать ребенка по спинке – движения должны быть легкими и ритмичными.

Дольше 10-15 минут носить ребенка столбиком не рекомендуется.

Возможные ошибки при выполнении позы

Есть несколько возможных ошибок при вертикальном ношении ребенка:

  • Запрокидывание головки. У ребенка мышцы шеи еще не укрепились, поэтому голова с легкостью может запрокинуться назад или вбок, если не обеспечить должную фиксацию. Неправильное положение может повредить позвонки шейного отдела.
  • Поднимание за кисти или локоть. Это может привести не только к запрокидыванию незафиксированной головы, но и к выскакиванию сустава, растяжению и даже перелому. Кости и суставы новорожденного неокрепшие и очень хрупкие, а навредив в таком возрасте можно вызвать проблемы на всю жизнь.
  • Резкое перемещение ребенка из горизонтального положения в вертикальное или сильное покачивание. Это может привести к сотрясению мозга и даже кровоизлиянию.

В каких случаях нет необходимости держать ребенка столбиком?

Сегодня существует мнение, что ребенка не нужно держать столбиком после кормления. Аргументируют это тем, что человек является млекопитающим, а ни одна самка этого вида не меняет после кормления положение своего детеныша. Считается, что правило держать ребенка вертикально пришло из советских времен, когда дети попадали в ясли уже в возрасте 2-3 месяцев. Это подразумевало искусственное вскармливание и невозможность индивидуального контроля и подхода в отношении количества съеденного.

На самом деле в этих утверждениях есть и доля правды.

Грудное вскармливание означает особенный состав молока, который идеально подходит ребенку и хорошо усваивается благодаря содержащимся в нем ферментам. Таким образом, при грудном вскармливании может и не понадобиться держать ребенка столбиком, особенно если оно выполняется .

Правильно подобранная , ее порции и соска, через которую она будет поступать, также могут отменить необходимость носить ребенка в вертикальном положении. Если ребенок хорошо усваивает смесь и она подается нужным потоком, то малыш может и не срыгивать.

В любом случае нужен индивидуальный подход. Если ребенок не срыгивает после кормления и не обеспокоен возникновением колик, то нет необходимости носить его столбиком. Но следует относиться к этому осторожнее, наблюдать за новорожденным или укладывать его на бок, чтобы в случае срыгивания малыш не захлебнулся.

Носить ребенка в вертикальном положении полезно по многим причинам. Главное, правильно соблюдать ношение ребенка в такой позе, помня о неокрепшем организме. Ответ на вопрос, держать ли малыша столбиком или нет, зависит от индивидуальных особенностей новорожденного, соблюдении техники кормления и вида вскармливания.

Перед молодыми родителями возникает множество вопросов, страхов в отношении по уходу за младенцем. Поначалу молодые родители боятся брать ребеночка на руки, ведь он такой хрупкий, нежный, особенного этого боятся молодые папы. Ведь они думают, что своими большими руками причинят младенцу боль. Но если делать все аккуратно, то ребенок будет только рад находиться на руках у родителей, чувствовать тепло их рук и тела.


Как правильно держать новорожденного столбиком после кормления

Молодых мам и пап очень интересуют вопросы: держать ли новорожденного столбиком, стоит ли держать младенца столбиком после кормления, как правильно держать новорожденного столбиком. Ведь в роддоме одно из первых наставлений это «держать грудничка вертикально после кормления».

Для начала хотелось бы выяснить: ребенок на искусственном вскармливании или же на естественном? Так как промежуток кормлений, «тяжесть» питания и многие факторы сказываются на количестве раз, когда нужно и необходимо ребенка подержать столбиком. Итак, если малыш находится на естественном вскармливании, то есть грудном, то, скорее всего, график кормлений размеренный, каждый раз зависит от настроения грудничка, его состояния и комфорта в данный момент. Он может кушать как раз в полчаса, так и раз в час-два.

Если ребенок на искусственном вскармливании, то график вскармливания адаптированной детской смесью налажен и происходит через равные промежутки времени, так как смесь — пища «тяжелее», нежели грудное молочко. На этом различия в необходимости количественного процента раз в держании столбиком после кормления, между искусственным и грудным вскармливанием закончены.

Зачем держать малыша вертикально после кормления

Далеко не все молодые мамы знают, что во время кормления кроха вместе с пищей заглатывает и воздух. От этого малыш может срыгивать сразу после кормления, отказываться в процессе кормления от прикладывания или часто прерывается.

Для того чтобы этого избежать, ребенка просто необходимо подержать после кормления в вертикальном положении. В этом положении заглатываемый воздух поднимается и высвобождается
, если же малыш лежит, и в этот момент начинает отходить воздух, то он может срыгнуть, так как воздух «выдавливает» пищу наружу. Но также важно, чтобы ребенок не переедал, так как излишек пищи он будет срыгивать, а неопытные мамочки начнут волноваться, пока не поймут, в чем причина.

После родов в роддоме помогают наладить грудное вскармливание, рассказывают и показывают, как правильно держать ребенка, учат правильно прикладывать с наименьшей травматизацией сосков, ведь многие сталкиваются с таким неприятным явлением, как трещины сосков. Чтобы минимизировать травматизм, нужно научиться верно прикладывать кроху к груди, чтобы ребенок правильно заглатывал сосок. Ведь если у мамы появятся трещины сосков, то это будет доставлять большой дискомфорт при налаживании грудного вскармливая.

Самый рекомендуемый возраст для вертикального положения после кормления, это, конечно же, самые первые дни после рождения, но многие специалисты утверждают, что держать столбиком надо начинать не ранее месячного возраста.

Многие родители переживают, не вредно ли вертикальное положение в столь раннем возрасте для позвоночника. Вертикальное положение не вредит ребенку, ведь мама или папа поддерживают головку малыша
, ребенок не опирается на ножки
, весь вес держит родитель
. Постепенно малыш в таком положении начнет разглядывать все вокруг, у него начнет появляться большой интерес к окружающему его миру, мышцы шеи и спины окрепнут, уже не надо будет поддерживать головку.

Когда держать малыша вертикально?

Если малыш находится на искусственном вскармливании
, то педиатры рекомендуют держать ребенка вертикально через каждые 30-60 мл выпитой смеси
, ведь количество потребляемой пищи можно отслеживать. Если же малыш находится на грудном вскармливании, то правильнее всего будет держать его вертикально после полного кормления
, не прерывая его. Если же малыш заснет под грудью, то лучше всего постараться аккуратно переложить его в кроватку, желательно класть на бочок, так как во сне малыш может срыгнуть, если он будет лежать на боку, то смесь просто-напросто вытечет и малыш не подавится.

Если же ребенок под грудью прерывается, кричит, то в данном случае стоит прерваться и подержать в вертикальном положении, так как, скорее всего, малыш заглотнул лишний воздух и он ему мешает. В данном положении все излишки выйдут, малыш успокоится и можно продолжать кормление.

Если после каждого кормления стараться держать ребеночка вертикально, то возможность газообразования и коликов сойдет на нет.

Как правильно держать новорожденного столбиком

  • Для начала аккуратно и медленно возьмите малыша и положите его голову себе на плечо;
  • Одной рукой необходимо придерживать головку и шейный отдел ребенка, а второй — нижнюю часть туловища;
  • Полностью поддерживайте позвоночник грудничка;
  • Подождите, пока кроха не срыгнет, как только сие действие произошло, перевидите ребенка в горизонтальное положение;
  • Внимательно нужно следить за положением головы новорожденного. Ни в коем случае голова малыша не должна запрокидываться!
  • Не поднимайте и не опускайте малыша слишком резко, ведь он может испугаться;
  • Старайтесь брать малыша на руки в хорошем расположении духа, не нервничайте, дети чувствуют тревоги, переживания.

Как держать ребенка столбиком

Сколько потребуется времени, чтоб весь воздух вышел

Нет точного определения времени, сколько требуется держать малыша вертикально, это индивидуальная особенность у каждого малыша. Самый главный ориентир — отрыжка ребенка
. Обычно это происходит в первые пару минут, но может быть и такое, что малышу понадобится больше времени для этого.

Если дело касается коликов, то тут времени нужно побольше. Колики бывают не у всех малышей, некоторых деток это обходит стороной. В среднем, колики начинаются с первого месяца жизни и могут длиться до 6 месяцев.

Чтобы облегчить малышу переносимость боли во время коликов, первое, что можно сделать, — это легкий массажик животика
, также можно положить теплую пеленку, проглаженную утюгом
(Внимание! Пеленка не должна быть горячей).

Еще один хороший способ избавить малыша от боли и наладить связь «мама-ребенок» — это положение «животик к животику»
, тепло живота мамы будет прогревать пузико малыша, тепло рук даст малышу понять, что он в безопасности и поможет ему быстрее успокоиться и уснуть. Если эти рекомендации не помогут, то можно воспользоваться каплями против коликов
, а вот какие выбрать именно для вашего малыша — уточняйте у педиатра.

Что следует помнить перед тем, как начать держать новорожденного столбиком

  • Сильно не прижимайте животик малыша, ведь он только покушал;
  • Держать нужно крепко, но нежно;
  • Большим пальцем правой руки придерживать головку грудничка, чтобы, как говорится, она не болталась;
  • Голова грудничка должна лежать у мамы на плече;
  • Менять плечо каждый раз, как держите столбиком, если это происходит достаточно долго. Это необходимо для того, чтобы у крохи не образовалась кривошея;
  • Чтобы ребенок не срыгнул и не запачкал одежду, подкладывайте хлопковую ткань или хлопчатобумажную пеленку;
  • Ходите с новорожденным, делайте покачивающие движения «вперёд-назад», можно еще гладить спинку снизу вверх;
  • Нельзя поднимать ребенка за ручки или дергать за ножки, в таком случае малыш может получить вывих конечностей.

Теперь ни у кого не останется сомнений, для чего и как держать ребенка столбиком после кормления. Это необходимо для освобождения крошки от скоплений воздуха, который он заглатывает в процессе кормления. Достаточное количество специалистов утверждают, что данная поза помогает укрепить мышцы и позвоночник ребенка, но не следует перегибать со временем, ведь можно только навредить. Оптимальное время составляет 10 минут. Также следует помнить, чего нельзя делать при держании новорожденного в вертикальном положении.

Также хочется отметить, что чем старше становится малыш, тем меньшая необходимость в поддержании после каждого кормления малыша столбиком.

Все “новоиспеченные” родители сталкиваются с трудностями при появлении на свет первенца. Некоторые не понимают, обязательно ли после кормления держать столбиком новорожденного. Мнения педиатров в этом вопросе расходятся. Одни специалисты считают, что всех новорожденных необходимо переводить вертикальное положение после каждого кормления. Другие говорят об индивидуальном подходе в данном вопросе. Давайте разберемся зачем держать кроху столбиком после кормления, как правильно это делать и нужно ли это именно Вашему малышу.

Функционирование пищеварительного тракта новорожденного имеет серьезные отличия в сравнении со взрослым организмом. Особенность кишечника новорожденных такова, что она располагает к появлению спазмов и кишечной колике. Во время кормления ребенок зачастую заглатывает небольшое количество воздуха. Это не зависит от типа питания — грудное молоко или смесь. Много воздуха заглатывает малыш, который постоянно отвлекается и беспокоится во время кормления.

Есть новорожденные с достаточно крепкой системой пищеварения. У них не возникают колики. Однако, таких малышей немного. В основном же скопившийся воздух в кишечнике крохи вызывает очень беспокойное поведение: малыш тянет ножки к животу, извивается, пронзительно кричит. Наиболее часто подобная симптоматика коликов встречается в вечернее и ночное время. Чтобы облегчить страдания крохи, педиатры советуют держать его столбиком.

Другая проблема, которая может появиться у новорожденного — это срыгивания. Они могут быть с очень обильным количеством пищи. Нередко данная проблема возникает у детей, находящихся на искусственном вскармливании. Грудное молоко имеет более оптимальный состав и вызывает меньше проблем с пищеварением. При обильных срыгиваниях педиатры рекомендуют кормить кроху антирефлюксной смесью. И в этом случае в вертикальном положении (столбиком) крохе гораздо проще срыгнуть воздух с некоторым количеством смеси или молока.

Также некоторые новорожденные склонны переедать. Наиболее характерно это для детей, находящихся на искусственном вскармливании. Грудного молока вырабатывается практически всегда столько, сколько требуется организму крохи. Маме, кормящей смесью, порой сложно рассчитать индивидуальную порцию для малыша. Поскольку ребенок может иметь прекрасный аппетит и съедать всю смесь из бутылочки.

Итак, новорожденного малыша нужно обязательно держать столбиком после кормления в следующих случаях:

  • обильные срыгивания
  • склонность к перееданию
  • беспокойное поведение во время кормления, торопливость, жадное сосание
  • симптомы кишечных коликов

Если у Вашего малыша подобные проблемы отсутствуют, то его держать столбиком не обязательно. Хотя это положение полезно для укрепления мышц шеи и спины. Если же хоть одна проблема из описанных применима к Вашему крохе, то его нужно носить столбиком после каждого кормления. Даже ночью, когда Вы особенно хотите спать. Носить малыша столбиком может не только мама. Это можно поручить папе малыша, бабушке или дедушке.

Как правильно носить столбиком новорожденного

после кормления?

Мышцы новорожденного малыша совсем не развиты. Он еще не освоил навыки координации. Конечно, носить его столбиком нужно крайне аккуратно. Воспользуйтесь нижеприведенными рекомендациями:

  1. Положите на плечо пеленку, чтобы в случае, если ребенок срыгнет с воздухом немного пищи, Ваша одежда осталась чистой.
  2. Аккуратно возьмите малыша, придерживая головку и шею одной рукой и поясницу второй.
  3. Плавно переведите кроху в вертикальное положение так, чтобы подбородок оказался на мамином плече. Помните, что нельзя брать новорожденного за суставы. Вы можете их повредить.
  4. Следите за головкой малыша, чтобы она не запрокинулась. Для этого придерживайте рукой затылок и шею крохи. Второй рукой держите спинку ребенка в нижней части.
  5. Ножки у новорожденного должны быть свободно опущены, если только малыш их сам не подгибает.
  6. Держите ребенка уверенно, но не прижимайте слишком сильно, чтобы не повредить грудную клетку.
  7. Не делайте резких движений. Это может напугать кроху.
  8. Носите малыша “столбиком” не более 10 минут. Обычно достаточно и 5 минут. Длительные вертикальные нагрузки новорожденным противопоказаны, так как их организм еще не готов к этому.

Как бы мама ни старалась, подбирая специальные бутылочки, или соблюдая диету проблему газообразования у новорожденного этим не устранить. Так устроен организм малыша. Из-за несформированности желудочно-кишечного тракта, ребенок не может произвольно выпускать полученный с едой воздух. Ему надо в этом помочь. Держа ребенка столбиком, Вы помогаете не только облегчить боль в животике малыша, но и укрепить ему мышцы шеи, спины.

Даже если Ваш малыш не имеет проблем с пищеварением и Вы его не носите столбиком, в любом случае укладывайте ребенка в кроватку на бочок (можете подложить под спинку валик из пеленки). Новорожденные с хорошим пищеварением (а тем более с проблемным) в некоторых случаях могут срыгивать остатки пищи. Их заглатывание чревато возникновением удушья. Берегите своего малыша!

Когда в семье появляется новорожденный малыш, особенно в его первые 3 месяца жизни, родители сталкиваются с массой проблем и хлопот. Связано это с тем, что грудничок появляется на свет в таком состоянии, при котором все его органы и системы только начинают адаптироваться к новым условиям и в этой связи еще не в полной мере могут выполнять свои функции.

Кроме того, женщинам, которые в первый раз стали мамами, порой бывает очень страшно брать и держать беззащитное и крохотное создание на руки. Ведь всем известно, что с таким малышом необходимо уметь обращаться правильно, чтобы не причинить вреда и предотвратить возможные травмы. Одной из распространенных поз на ручках у родителей для грудничка, является позиция столбиком, которая в ряде случаев помогает ему справиться с нередкой проблемой всех новорожденных – заглатыванием воздуха во время кормления. Многие не знают, как делать это правильно и сколько можно держать ребенка в таком положении.

Зачастую, родители придерживаются мнения, что держать и носить новорожденного на руках без особой необходимости не нужно, мотивируя это двумя доводами:

  1. Косточки новорожденного ребенка еще совсем мягкие и могут легко деформироваться или даже травмироваться.
  2. Малыш может привыкнуть и будет в дальнейшем постоянно проситься на руки.

И первое, и второе утверждение являются неверными
. Новорожденный нуждается в материнском внимании и непосредственном контакте. Так ему будет проще адаптироваться к новой незнакомой среде обитания. Кроме того, после длительного 9-месячного пребывания в утробе своей мамы, ему очень необходимо ее тепло, которое лучше любых средств успокаивает, избавляет от стрессов, страха и даже физической боли.

Еще положение столбиком является очень эффективным средством для избавления от воздуха, который заглатывается ребенком во время кормлений, особенно из бутылочки при искусственном вскармливании. Поступивший в желудок и кишечник воздух создает давление и беспокоит ребенка, причиняя ему боль и дискомфорт.

Как только малыша после кормления родители берут столбиком (вертикально), он срыгивает весь воздух и может в дальнейшем нормально себя чувствовать. После этого младенца можно положить.

Кроме того, существует еще одна распространенная детская особенность – . Если ребенка сразу после кормления положить горизонтально, существует опасность, что он поперхнется после срыгивания детским питанием. В вертикальном положении эта проблема частично решается, а также вероятность подавиться, практически сводится к нулю.

Как правильно и сколько можно держать грудничка столбиком

Когда мама пытается взять новорожденного столбиком, она всегда должна помнить два важных правила:

  1. Все движения должны выполняться плавно и медленно, нежными прикосновениями рук.
  2. Брать на руки малыша необходимо с улыбкой, нежно и ласково с ним разговаривая.

Чтобы правильно поднять новорожденного, маме нужно одной рукой поддерживать его головку, зафиксировав ее в области шейки. Второй рукой нужно подхватить малыша за спинку, ближе к пояснице. Мамины руки должны создавать для слабого позвоночника ребенка надежную опору.

Когда ребенка нужно взять из положения лежа на животике, мамина рука должна находиться под его грудью. При этом подбородок и шею малыша следует поддерживать большим и указательным пальцами. Далее малыша двумя руками необходимо аккуратно поднять вертикально, прижимая к своему телу. В данном случае действие имеет двойной эффект. Во-первых, мамино тепло успокаивает ребенка, а во-вторых, весь лишний воздух выйдет.

Другой важный вопрос, сколько можно и нужно держать малыша столбиком. Оптимально он должен находиться в такой позе при поддержке мамы до того момента, пока срыгнет. Однако длительное пребывание в вертикальном положении для младенца нежелательно, поэтому нужно ограничиться примерно 30 секундами
.

Также некоторые специалисты считают, что кратковременное положение столбиком помогает новорожденному укрепить мышцы шеи и спины.

Как правильно положить малыша

Положить ребенка в горизонтальное положение также необходимо правильно. Для этого мама, держа ребенка столбиком, должна максимально наклониться перед детской кроваткой или другой поверхностью. Затем аккуратно и неспешно положить малыша и несколько секунд до того, как она освободит свои руки, побыть в такой позе перед ребенком. Когда малыш полностью расслабиться в горизонтальном положении, мама может убирать свои руки.

Что нельзя делать, держа малыша столбиком

Существует также несколько несложных правил, которых следует придерживаться.

Придавая малышу вертикальную позу, нельзя:

  • поднимать и подтягивать его за руки, кисти, предплечья, так как это чревато вывихом лучевой кости;
  • брать малыша подмышки, так как при этом головка может запрокинуться назад и мышцы шеи могут растянуться;
  • резко поднимать малыша, не предупредив его, так как он может испугаться;
  • крепко прижимать его к своему телу.

Таким образом, освоив эти простые движения, мама сможет чаще контактировать со своим чадом и помогать ему при дискомфорте в желудке и кишечнике.

Когда в семье появляется первый ребёнок, для родителей настаёт время получения новых знаний и умений. Малыш требует особого ухода, особенно в первые месяцы своей жизни. Ведь в этот период организм крохи адаптируется к новым условиям существования и ещё не способен в полной мере справляться со своими функциями. Одной из основ правильного роста и развития малыша является организация процесса питания. По завершении кормления в некоторых случаях необходимо подержать новорождённого в вертикальном положении. Для чего это нужно? Как правильно держать ребёнка столбиком? В каких случаях это следует делать? Ответы будут даны в статье ниже.

История происхождения процедуры

В советские времена малышей в трёхмесячном возрасте уже отдавали в ясли, ведь именно столько длился оплачиваемый декретный отпуск. В группах детей кормили смесью строго по режиму. Каждый ребёнок получал одинаковую порцию, индивидуальные особенности малышей не брались в учёт. Кормление производилось каждые три часа. Вследствие использования такой схемы приёма пищи часто возникала проблема перекармливания. Именно для того, чтобы лишнее, его и держали столбиком.

Зачем держать младенца столбиком?

Молодых родителей в первую очередь волнует вопрос «как ребёнка держать столбиком». Ответ на него будет предоставлен несколько позже. Ведь прежде стоит понять, зачем вообще нужна такая процедура. Есть несколько причин, по которым следует держать малыша в вертикальном положении:

Не стоит забывать, что перед проведением различных манипуляций с малышом нужно обязательно понять, как правильно держать ребёнка столбиком.

В каких случаях не нужно держать младенца в вертикальном положении?

В современном обществе существует мнение, отличающееся от рекомендаций советской педиатрии. С незрелой пищеварительной системой рождаются не только дети человека. Малыши многих животных появляются на свет с такой же проблемой, однако их мамы не держат новорождённых столбиком. Поэтому том в случае, когда ребёнок находится полностью на естественном вскармливании и приучен правильно брать грудь, вопрос о заглатывании воздуха возникает крайне редко. К тому же при таком питании не происходит перекармливания.

Держать ли ребёнка столбиком после кормления, если он находится на грудном вскармливании? Если малыш не проявляет признаков беспокойства, не плачет и засыпает во время или после приёма пищи — то ответ отрицательный.

Когда нужно держать младенца столбиком?

Родителям следует некоторое время подержать малыша в вертикальном положении в следующих случаях:

Как ребёнка держать столбиком и как перед этим правильно взять его на руки? Ответы на эти вопросы даны ниже.

Как правильно взять новорождённого на руки?

Обращение с малышом должно быть нежным и аккуратным. Главное правило — плавность движений. Родителям при этом следует улыбаться младенцу, говорить с ним тихим голосом.

Перед началом манипуляций следует наклониться как можно ближе к ребёнку. Одна рука взрослого должна быть расположена под головой и шеей крохи. Вторая — под спиной и поясницей. После этого нужно неторопливо приподнять ребёнка двумя руками и аккуратно прижать его к своему телу.

Как ребёнка держать столбиком? Ниже приведено подробное описание этого процесса.

Как правильно держать младенца столбиком?

Предварительно рекомендуется в целях гигиены положить на плечо взрослого чистую пелёнку. После того как новорождённый оказался на руках одного из родителей, можно придать его телу вертикальное положение. Для этого следует приподнять малыша, чтобы его голова оказалась на плече взрослого. Одна рука при этом должна придерживать голову и шею, вторая — спину и поясницу. Под ягодицы брать ребёнка нельзя, ведь это создаст ненужную дополнительную вертикальную нагрузку на позвоночник.

Ещё одним вариантом, как ребёнка держать столбиком, может стать следующий. Нужно переместить кроху немного выше, чтобы грудь малыша оказалась на плече взрослого, а голова и руки — за ним. При этом обязательно следует прижимать к себе спину и шею младенца.

Чего нельзя делать при удерживании ребёнка в вертикальном положении?

Существует ряд запретов и предостережений, на которые следует обратить внимание при придании крохе вертикального положения:

  1. Во избежание вывиха лучевой кости нельзя поднимать малыша, держа его за руки, кисти или предплечья.
  2. Во избежание запрокидывания головы и растяжения шейных мышц нельзя поднимать ребёнка, держа его под мышки.
  3. В движениях родителя не должно быть резкости, ведь это может напугать младенца.
  4. Прижимать малыша к телу нужно крепко, но не слишком усердствуя, чтобы не причинить боль.

Каждый ребёнок индивидуален. Поэтому избавиться от лишнего воздуха малыш может на протяжении двух — десяти минут. Однозначного и точного ответа на вопрос «сколько держать ребёнка столбиком после кормления» нет. Если по истечении указанного времени младенец всё ещё беспокоится, следует изменить его положение, погладить его по спине.

Есть педиатры, которые советуют держать кроху в вертикальном положении после каждого кормления. Но по истечении довольно короткого времени каждая мама уже может понять, нужна ли помощь её малышу в конкретной ситуации.

У некоторых детей система пищеварения взрослеет и перестаёт их беспокоить, как только малыш научится переворачиваться на живот. У других — пока они не научатся сидеть. Родители по поведению ребёнка смогут понять, что помощь ему уже не нужна.

Заключение

Держать малыша в вертикальном положении нужно для того, чтобы помочь ему избавиться от воздуха, заглатывание которого произошло во время кормления, или для срыгивания лишней пищи. Чаще всего в этой процедуре нуждаются дети, которые находятся на искусственном вскармливании. В статье подробно описано, столбиком после кормления. Также существует ряд предостережений, с которыми следует ознакомиться до начала манипуляций. Держать младенца столбиком родителям нужно до того момента, пока не сформируется его незрелая система пищеварения.

Как правильно держать ребенка столбиком после кормления

Кормление грудничка – навык, которому молодую маму обучают после родов в родильном доме. После выписки домой женщину подстерегает ряд трудностей — колики и срыгивания. Чтобы свести их к минимуму малыша держат столбиком после кормления.

В чём смысл?

Срыгивание – естественный процесс, своеобразная защитная реакция, её цель – удалить лишнюю еду из организма. Сколько раз ребёнок срыгивает, зависит от количества съеденной пищи. Некоторые дети срыгивают несколько раз маленькими порциями, а другие не срыгивают вообще. Новорождённые дети склонны переедать. Пищеварительная система новорождённых детей несовершенна, у недоношенных малышей вовсе слабо развита. Дети рождаются с заложенным сосательным рефлексом, остальные навыки у них развиты слабо.

Второй момент – колики. Возникают колики как результат заглатывания воздуха во время кормления при отрыве от груди, неправильном прикладывании, особенностях женской груди и ротика малыша. Заглатывание воздуха – неизбежный момент, поскольку самостоятельно придать телу вертикальное положение и отрыгнуть малыш не может. Воздух, попавший в желудок, вызывает болезненные, покалывающие ощущения, приносит много беспокойства ребёнку. Кроха плачет, не может заснуть после кормления. Существует опасность, что малыш может захлебнуться молоком, поэтому после кормления за детьми нужно наблюдать. Для устранения коликов и удаления излишней пищи, ребёнка нужно правильно держать столбиком и носить по комнате.

Как правильно держать

Основное правило в этом моменте – правильно обеспечить поддержку спины, головы и шеи ребёнка. После кормления малыша нужно взять двумя руками – одной под голову и шею, другой под спину. Потом придать вертикальное положение. Руки мамы остаются в том же положении, ребёнка прижимают к плечам, головка смотрит за спину. Таким образом, удаётся материнским плечом сделать опору для подбородка новорождённого, что придаёт дополнительную фиксацию голове и облегчает поддержку матери.
Что касается частоты столбиков, мнения расходятся. Педиатры советуют делать частые перерывы через 30 мл пищи. Если ребёнка кормят смесью, то можно заметить, сколько пищи съел малыш. При грудном вскармливании отмерять объем пищи сложнее.

Вторая группа педиатров советует держать новорождённого столбиком с окончания кормления и носить до тех пор, пока лишний воздух и лишняя жидкость не выйдут.
Известный педиатр Евгений Комаровский утверждает, несрыгивающих детей нет необходимости держать столбиком. И это тоже правильно. Врач отмечает – нужно держать столбиком деток, плохо набирающих вес. Во всех иных случаях удержание столбиком не является обязательным.

Сопутствующие советы

Во время удерживания столбиком может выйти воздух, часть молока, воздух с молоком. Чтобы не запачкать одежду, на плечо маме можно положить салфетку или свёрнутую одноразовую пелёнку, а одежду малыша можно прикрыть слюнявчиком.
Сразу после срыгивания можно держать малыша ещё некоторое время столбиком, т.к. в этом момент его тело согревается от материнского тепла, что благоприятно воздействует на пищеварение. Сколько времени для этого необходимо – это индивидуальные показатели. После того, как малыш срыгнул, его можно немного поносить и укладывать спать.

Если ребёнок заснул во время кормления, постарайтесь понаблюдать за ним и выяснить – когда у него выходит лишний воздух или этого не происходит во сне вообще. Если малыш срыгивает во сне, его можно носить на руках в спящем состоянии, пока не отрыгнёт, потом переложить в кроватку. Детки, спокойно засыпающие после кормления и не просыпающиеся от коликов, скорее всего, срыгивать не будут, поскольку они не наглотались лишнего воздуха. В противном случае они бы не смогли заснуть из-за дискомфорта в животике. Даже если у спящего ребёнка и есть незначительное количество воздуха в животе, оно может выйти уже после сна. В любом случае такие индивидуальные особенности родителям нужно знать, чтобы правильно организовать кормление и меры после него.

Меры предосторожности

Чтобы срыгивание прошло нормально, нужно знать действия, которые нельзя делать с новорождёнными детьми:

  • нельзя поднимать малыша за ручки, кисти, подтягивать за предплечья. В этом случае ребёнок может получить повреждение лучевой кости;
  • не нужно брать малыша в области подмышек – новорождённый не настолько хорошо держит голову, чтобы самостоятельно её приподнимать. Это приведёт к запрокидыванию головы назад, а мышцы шеи могут растянуться. Правильно брать под голову и шею;
  • не нужно слишком плотно прислонять ребёнка к телу матери, чтобы не напугать его. Животик малыша должен расслабиться, быть свободным для выведения излишков кормления наружу;
  • чтобы у ребёнка не развилась кривошея, правильно формировался позвоночник, держать малыша столбиком нужно с разных сторон – один раз на левую руку, а один раз на правую. Обычно любопытные малыши любят посмотреть по сторонам, поэтому шея должна поворачиваться в разные стороны, а не привыкать к одной;
  • некоторые дети не любят, чтобы их тревожили, поэтому при удерживании столбиком могут начать плакать, становятся беспокойными. Попытайтесь носить ребёнка по комнатам, покажите ему игрушку, чтобы он не плакал и не напрягал мышцы живота, иначе срыгивание может отложиться надолго.

Как правильно держать новорожденного ребенка столбиком, при подмывании (фото)

Одна из первых проблем, с которой сталкиваются все молодые родители – неумение держать ребенка на руках так, чтобы не нанести ему травму и не причинить дискомфорт. Конечно, со временем страх проходит, а на его место приходят умение и сноровка, плюс руки сами привыкают все делать как надо, однако на первых порах выручить могут специальные видео или инструкции с фото, где детально описывается и наглядно демонстрируется, как правильно обращаться с младенцем.

В первые дни после роддома молодые родители еще толком не знают, как обращаться с ребенком. Даже вопрос, как правильно держать младенца, кажется очень сложным

Общепринятые правила при ношении младенцев

То, каким образом носят новорожденного, непосредственно влияет на здоровье и физическое развитие малыша. Неправильное ношение ребенка может не только негативно сказаться на формировании позвоночника и тазобедренных суставов, приведя к их деформации, но также нарушить нормальное развитие моторных навыков, спровоцировать повышение или понижение тонуса мышц. Кроме того, при неверных действиях возрастает вероятность падения, так что родственникам и всем, кто непосредственно будет взаимодействовать с малышом, следует придерживаться определенных правил безопасного ношения:

  • Новорожденный требует очень аккуратного обращения. Скелет крохи, особенно в первое время, сильно уязвим, так как его мышечная система еще не успела окрепнуть, а кости и суставы, будучи достаточно пластичными, легко поддаются деформации.
  • До того момента, пока малыш не научится держать голову самостоятельно, а в большинстве случаев это происходит к 3 месяцам, ее всегда следует поддерживать. Она не должна находиться в висячем или запрокинутом положении.
  • Распределение веса ребенка обязано быть равномерным по основным точкам опоры: голове, спине, тазу.
  • Нельзя длительное время носить новорожденного в вертикальном положении. Постепенно, с ростом младенца, этот период увеличивается. Подобное ограничение зависит от того, как распределяется нагрузка на позвоночник.
  • Противопоказано приподнимать младенца за руки, так как это может закончиться вывихом. Если родители планируют делать гимнастику с грудничком чуть ли ни с самого рождения, важно выяснить все противопоказания и хорошо освоить позаимствованную у специалистов методику.
  • Следует избегать крепких объятий и сильного прижимания малыша к себе, особенно в районе грудной клетки.
  • Предпочтительнее держать кроху не под ягодицы, а под лопатки. Так должным образом распределяется нагрузка на позвоночник.

Ключевой момент – осторожность. Тело малыша пока еще очень хрупкое, особенно это касается шейных позвонков, удерживающих тяжелую голову. Следует очень внимательно брать малыша, обращая внимание на все мелочи.

3 способа брать или класть малыша

Многих родителей, особенно в первое время, пугает момент, когда нужно взять или положить малыша. Не имея опыта обращения с новорожденным, они боятся сделать что-нибудь не так и тем самым навредить малышу. Основным при любом взаимодействии с грудничком является спокойное эмоциональное состояние. Все движения должны быть уверенными, плавными, так как резкие способны испугать карапуза. Кроме того, общаться с малышом стоит тихим и нежным голосом без повышенных интонаций. Ниже представлен ряд последовательных действий при взятии ребенка из определенного положения или когда кроху необходимо положить:

  1. Кроха лежит на спине. Следует одну ладонь положить под голову малышу, а вторую разместить под ягодицами. Поднимая кроху, нужно следить за тем, чтобы туловище было ниже головы.
  2. Малыш лежит на животе. Одну руку необходимо подложить под грудь ребенка таким образом, чтобы большим и указательным пальцами придерживать его шею. Другую руку нужно подложить под живот горизонтально сбоку или вертикально между ногами. Приподнимая кроху, не забывайте о том, чтобы его голова не оказалась ниже туловища.
  3. Правильно кладем грудничка. Важно сначала прижать кроху к себе и потом только наклониться, чтобы положить ребенка в кроватку, коляску или на столик для пеленания. Никогда не следует укладывать детей на вытянутых руках. Вытягивать руки из-под крохи нужно не спеша и достаточно плавно, перед этим некоторое время оставаясь в его обозрении.

Различные позиции правильного ношения грудничков

Ношение малыша является не просто тренировкой мышц и суставов крохи. Во время нахождения грудничка на руках у мамы, между ними налаживается тактильный и эмоциональный контакт. Среди многих способов, как носить ребенка, можно выделить несколько самых распространенных:

  • колыбелька;
  • на животе;
  • на руках сбоку;
  • спереди.

Позиция “колыбелька” наиболее удобна для новорожденных. Она дарит малышу не только тепло и комфорт, но также в ней он чувствует себя в безопасности и защищенным, что немаловажно в первый период адаптации к новым условиям после утробы матери. Чтобы занять подобную позу, необходимо положить кроху на руку в области предплечья, чтобы его голова оказалась на локте, а другой держать ножки. Руки и ноги не должны свободно болтаться.

Ребенок достаточно быстро набирает вес, носить его становится все труднее. Для перемещений с малышом идеально подойдет поза на животе. В ней кроха своей грудью лежит на предплечье одной вашей руки, а его руки находятся перед ним, живот малыша располагается на ладони другой, при этом движения ног крохи ничем не ограничены.

Для младенцев до полугода рекомендуется позиция на руках сбоку. В подобной позе 1-3 месячный кроха, который еще плохо держит голову, сможет класть ее на плечо маме. Ребенка в вертикальном положении нужно развернуть вперед лицом и слегка наклонить. Одной рукой держите малыша за верхнюю часть груди, а другой возьмите обе стопы, так, чтобы его 2 ноги были согнуты и разведены в бедрах и коленях, а руки лежали сверху на предплечье.

Начинать носить грудничка спереди лучше после 6 месяцев – это способствует подготовке мышечной системы к ползанию. Следует развернуть ребенка лицом от себя и в положении полулежа наклонить немного вперед, при этом он должен слегка опираться на ваш живот. Обхватите кроху под грудь, чтобы его рука была на вашем предплечье, а вторая свободно двигалась, другой рукой возьмитесь под согнутым коленом одной из ножек, оставив вторую ногу свободной.

Варианты поддержки ребенка при уходе за ним

Знание того, как правильно держать новорожденного, пригодятся маме не только во время общения с крохой. В процессе повседневных процедур по уходу за ребенком, таких как подмывание или кормление молоком, грамотная техника поддержек играет важную роль в обеспечении безопасности и максимального комфорта малыша (подробнее в статье: правильный уход за новорожденным мальчиком).

Кормление и подмывание

В процессе кормления голова младенца должна располагаться выше туловища, при этом оставаясь с ним на одной линии (рекомендуем прочитать: как правильно прикладывать новорожденного к груди при кормлении: фото). В отдельных случаях мамам после родов некоторое время нельзя садиться или бывает просто неудобно кормить в сидячем положении. Тогда можно прибегнуть к позиции лежа, когда мама с ребенком располагаются параллельно, а голова крохи слегка запрокинута назад. При кормлении сидя, независимо от типа вскармливания, можно использовать позу “колыбелька”, когда голова младенца лежит у мамы на согнутом предплечье, а она держит свободной рукой его спину и ноги. Удобная поза кормления позволит избежать затекания спины и боли в руках. Посмотрите еще несколько поз при кормлении.

Правильно подобранная поза для кормления должна поддерживать голову малыша выше туловища – если пренебречь правилом, ребенок может захлебнуться

Основное правило при подмывании новорожденного мальчика или девочки состоит в том, чтобы голова ребенка всегда оставалась выше туловища (рекомендуем прочитать: почему нельзя присаживать девочек до 6 месяцев и верно ли это?). Одной рукой сделайте обхват в районе груди малыша, чтобы он был наклонен вперед, а его голова находилась на вашем согнутом предплечье. Второй рукой подмойте карапуза под краном.

Положение столбиком после кормления

Ношение столбиком рекомендовано применять сразу после того, как малыш закончит кушать, в течение 10-15 минут с целью срыгивания воздуха, который попал крохе с молоком или смесью. Такая поза способствует профилактике коликов у мальчиков и девочек, связанных с избытком воздуха в желудке. Для того чтобы положение столбик оказалось эффективным, следует знать, как правильно держать в нем грудничка.

В такой позе ребенок должен находиться лицом ко взрослому и обязательно перпендикулярно полу. Одной рукой поддерживайте шею и голову так, чтобы голова опиралась на плечо, а второй – попу и ноги. Если малыш успел уснуть, держите его не строго вертикально, а в полувертикальной позиции. Продолжительность ношения малыша столбиком зависит от того, когда он самостоятельно сядет – вплоть до этого момента положение столбик остается актуальным.

Врач-педиатр 2 категории, аллерголог-иммунолог, окончила БГМУ Федерального агентства по здравоохранению и социальному развитию. Подробнее »

Поделитесь с друьями!

Технический совет

: закрепление строк и столбцов в Excel

Если вы работаете с большими электронными таблицами, очень легко потеряться и забыть, для чего используется определенная строка или столбец. Может быть очень удобно зафиксировать определенные строки или столбцы, чтобы они не двигались, когда вы просматриваете остальную часть таблицы. Вот как это сделать.

Excel позволяет заморозить данные одним из трех способов:

  • Вы можете заморозить самую верхнюю строку.
  • Вы можете закрепить крайний левый столбец.
  • Вы можете закрепить несколько строк или несколько столбцов (или обоих), чтобы они были видны все время.

Итак, вот как это сделать.

Закрепить верхний ряд

Если вы хотите, чтобы верхний ряд оставался на месте, это довольно просто. Перейдите на вкладку «Просмотр», нажмите «Закрепить панели», а затем «Закрепить верхнюю строку».

Теперь при прокрутке вверх и вниз верхняя строка остается на месте.

Если вы хотите отменить это, вернитесь в меню «Вид», снова нажмите «Закрепить панели» и выберите «Разморозить панели», чтобы все вернулось к нормальному состоянию.

Закрепление первого столбца

Иногда в левом столбце содержится информация, которую вы хотите видеть в любое время. Это тоже очень просто.

Вернитесь на вкладку «Просмотр», выберите «Закрепить области», а затем выберите «Закрепить первый столбец».

Как и раньше, чтобы снова разморозить объекты, вернитесь и снова выберите «Unfreeze Panes».

Закрепить другие группы и строки

Два указанных выше варианта работают в идеальном мире, но иногда данные, которые вам нужны, постоянно отображаются на экране, не являются верхней строкой или первым столбцом.В некоторых случаях вы хотите заморозить несколько строк или столбцов (или даже обоих).

Чтобы закрепить несколько строк, щелкните номер строки под самой нижней строкой, которую вы хотите закрепить. Поэтому, если вы хотите, чтобы строки 1–4 застыли, щелкните строку 5 (число слева от строки), чтобы выбрать всю строку:

Теперь вернитесь в меню просмотра, выберите «Freeze Panes» и выберите «Закрепить области».

При прокрутке листа вниз несколько верхних рядов останутся замороженными, а серая линия будет показывать край замороженных панелей.

Чтобы вместо этого заморозить несколько столбцов, щелкните столбец справа от столбцов, которые вы хотите зафиксировать, и снова зафиксируйте панели. Поэтому, если мы хотим, чтобы столбцы от A до D оставались видимыми, мы выбираем столбец E, а затем замораживаем строку панелей перед:

Закрепление столбцов и строк

Вы можете заморозить группы строк или группы столбцов, но это сделали вы знаете, что можете заморозить несколько строк и столбцов одновременно?

Допустим, мы хотели закрепить три левых столбца (A – C) и три верхние строки (1-3), чтобы они были видны при прокрутке таблицы.Для этого выберите самую верхнюю левую ячейку, которую вы, , не хотите, , замораживать. В данном случае это будет ячейка D4. Щелкните один раз на ячейке D4, а затем перейдите в меню «Просмотр» à «Закрепить панели» à «Закрепить панели», как и раньше, и теперь вы можете прокручивать электронную таблицу, и эти строки и столбцы останутся видимыми.

Советы по выбору столбцов в DataFrame

Введение

В этой статье мы обсудим несколько советов и ярлыков для использования
iloc

работать с
набор данных с большим количеством столбцов.Даже если у вас есть некоторый опыт использования
iloc

вам следует
изучите пару полезных приемов, чтобы ускорить собственный анализ и избежать ввода большого количества имен столбцов в коде.

Почему мы заботимся о выборе столбцов?

Во многих стандартных примерах науки о данных относительно небольшое количество столбцов.
Например, у Titanic их 8, у Iris — 4, а у Boston Housing — 14. Реальные наборы данных:
беспорядочный и часто включает много лишних (потенциально ненужных) столбцов.

В задачах науки о данных вам может потребоваться выбрать подмножество столбцов для одного или нескольких
следующие причины:

  • Фильтрация данных для включения только соответствующих столбцов может помочь уменьшить объем памяти и ускорить обработку данных.
  • Ограничение количества столбцов может уменьшить умственные издержки, связанные с хранением модели данных в голове.
  • При изучении нового набора данных может потребоваться разбить задачу на управляемые фрагменты.
  • В некоторых случаях может потребоваться перебрать столбцы и выполнить вычисления или очистку.
    чтобы получить данные в нужном вам формате для дальнейшего анализа.
  • Ваши данные могут содержать лишнюю или повторяющуюся информацию, в которой нет необходимости.

Независимо от причины, вам могут не понадобиться эти методы постоянно. Но когда вы это сделаете, уловки
описанное ниже может сократить время, которое вы тратите на обработку столбцов данных.

Кроме того, если вам нравится этот тип контента, я рекомендую вам ознакомиться с трюками Кевина Маркхэма с пандами, которые
послужило источником вдохновения для пары приведенных ниже советов.

Данные

Чтобы проиллюстрировать некоторые примеры, я собираюсь использовать необычный набор данных из переписи белок Центрального парка.Да, видимо, в Центральном парке пытались подсчитать и каталогизировать белок. Я думал, это будет
интересный пример для работы. Это также дало мне возможность включить изображение белки (кредит: GeorgeB2) в свой пост :).

Этот набор данных включает 3023 строки данных и 31 столбец. Хотя 31 столбец — это не огромное количество столбцов,
это полезный пример для иллюстрации концепций, которые вы можете применить к данным с большим количеством столбцов.

Если вы хотите продолжить, вы можете просмотреть записную книжку или вытащить ее прямо из github.

Давайте начнем со считывания данных.

 импортировать панд как pd
импортировать numpy как np

df = pd.read_csv (
    'https://data.cityofnewyork.us/api/views/vfnx-vebw/rows.csv?accessType=DOWNLOAD&bom=true&format=true'
)
 

Иногда бывает сложно запомнить имя каждого столбца и его расположение по индексу. Вот простое понимание списка
для создания справочного списка всех столбцов и их индекса.

 col_mapping = [f "{c [0]}: {c [1]}" для c в enumerate (df.столбцы)]
 

Что создает список вроде этого:

 ['0: X',
'1: Y',
'2: Уникальный идентификатор белки',
'3: Гектар',
'4: Shift',
'5: Дата',
 ...
'33: Границы округа ',
'34: Районы горсовета ',
'35: Полицейские участки ']
 

В некоторых случаях, если вы хотите переименовать группу столбцов, вы можете использовать словарь
понимание для создания словарного представления данных:

 col_mapping_dict = {c [0]: c [1] для c в перечислении (df.columns)}
 

Что создает этот словарь:

 {0: 'X',
1: 'Y',
2: "Уникальный идентификатор белки",
3: «Гектар»,
4: "Сдвиг",
5: "Дата",
...
33: "Границы районов",
34: "Районы горсовета",
35: 'Полицейские участки'}
 

Определение этих переменных может быть полезно в процессе анализа. Вместо того
постоянно просматривая исходный файл, вы можете просто дважды проверить имя переменной во время анализа.

Еще одна распространенная задача, с которой я часто сталкиваюсь, — это переименование группы столбцов, имена которых в разных
файлы. Я использую словарь, чтобы легко переименовать все столбцы, используя что-то вроде
df.переименовать (столбцы = col_mapping)

Ввод всех имен столбцов может привести к ошибкам. Простой трюк — скопировать все столбцы в Excel.
и используйте
pd.read_clipboard ()

чтобы построить небольшой DataFrame и превратить столбцы в словарь.
При необходимости я могу вручную ввести новые имена.

Вот быстрый пример с этим набором данных. Обратите внимание, что мы передаем
сен

разбирать
строка с разделителями табуляции:

 df_cols = pd.read_clipboard (sep = '\ t')
col_mapping = {c [1]: '' для c в перечислении (df_cols.столбцы)}
 

, который создает словарь, который относительно легко заполнять новыми именами:

 {'X': '',
'Y': '',
'Уникальный': '',
'Белка': '',
'Я БЫ': '',
'Гектар': '',
'Сдвиг': '',
...
'Полиция': '',
'Участки': ''}
 

В качестве дополнительного бонуса вы даже можете использовать файл Excel для настройки переименования столбца и автоматизации всего процесса.
Этот совет выходит за рамки данной статьи. Если вам интересно, дайте мне знать в комментариях.

Использование iloc

Основная функция, которую мы рассмотрим, — это панда .
iloc

который используется для индексации на основе целочисленного местоположения.Новых пользователей могут немного запутать, потому что
iloc

и
loc

может принимать логический массив, что приводит к большему количеству
мощное индексирование. Поскольку обе функции могут принимать в качестве входных данных логический массив, бывают случаи, когда эти функции производят
такой же выход. Однако в рамках этого поста я остановлюсь только на .
iloc

выбор столбца.

Вот простой рисунок, иллюстрирующий основное использование
iloc

:

Например, если вы хотите просмотреть только столбец данных идентификатора белка для всех строк:

0 37F-PM-1014-03
1 37E-PM-1006-03
2 2E-AM-1010-03
3 5D-PM-1018-05
4 39Б-АМ-1018-01
             ...
3018 30Б-АМ-1007-04
3019 19A-PM-1013-05
3020 22D-PM-1012-07
3021 29Б-ПМ-1010-02
3022 5E-PM-1012-01
Имя: уникальный идентификатор белки, длина: 3023, dtype: объект
 

Если вы хотите посмотреть местоположение X и Y, а также идентификатор, вы можете передать
в списке целых чисел
[0,1,2]

:

Х Y Уникальная белка ID
0 -73.956134 40.794082 37F-PM-1014-03
1 -73.957044 40.794851 37E-PM-1006-03
2 -73,976831 40.766718 2E-AM-1010-03
3 -73.975725 40.769703 5D-PM-1018-05
4 -73,959313 40.797533 39Б-АМ-1018-01
3018 -73.963943 40.7

30Б-АМ-1007-04
3019 -73.970402 40.782560 19A-PM-1013-05
3020 -73.966587 40.783678 22D-PM-1012-07
3021 -73.963994 40.789915 29Б-ПМ-1010-02
3022 -73.975479 40.769640 5E-PM-1012-01

3023 строки × 3 столбца

Ввод всех столбцов не самый эффективный, поэтому мы можем использовать нотацию срезов, чтобы облегчить понимание:

Что будет генерировать тот же результат, что и выше.SyntaxError: недопустимый синтаксис

Или вы можете попробовать что-то вроде этого:

 IndexingError: слишком много индексаторов
 

Хммм. Это явно не работает, но похоже, что это также было бы полезно для выбора диапазонов.
как отдельные столбцы.

К счастью, есть некий объект, который может нам помочь. Модель
r_

объект будет
«Преобразуйте объекты срезов в конкатенацию по первой оси». Это может не сделать много
смысл из документации, но он делает именно то, что нам нужно.

Вот более подробный пример, показывающий, как это работает с комбинацией отдельных
элементы списка и нарезанные диапазоны:

 массив ([0, 1, 2, 15, 16, 17, 18, 24, 25])
 

Это круто. Этот объект преобразовал комбинацию целочисленных списков и нотации срезов.
в единый список, который мы можем передать на
iloc

:

 df.iloc [:, np.r_ [0: 3,15: 19,24,25]]
 
Y Уникальная белка ID Дата Гектар Белка № Возраст Бег В погоне Восхождение Еда Собирательство Прочие виды деятельности Кукс Quaas Стоны Флажки хвостовые Подергивание хвоста Подходит Безразличный Выполняется с Другое взаимодействие
0 40.794082 37F-PM-1014-03 10142018 3 NaN Ложь Ложь Ложь Ложь Ложь NaN Ложь Ложь Ложь Ложь Ложь Ложь Ложь Ложь NaN
1 40.794851 37E-PM-1006-03 10062018 3 Взрослый Истинно Ложь Ложь Ложь Ложь NaN Ложь Ложь Ложь Ложь Ложь Ложь Ложь Истинно мне
2 40.766718 2E-AM-1010-03 10102018 3 Взрослый Ложь Ложь Истинно Ложь Ложь NaN Ложь Ложь Ложь Ложь Ложь Ложь Истинно Ложь NaN
3 40.769703 5D-PM-1018-05 10182018 5 Несовершеннолетние Ложь Ложь Истинно Ложь Ложь NaN Ложь Ложь Ложь Ложь Ложь Ложь Ложь Истинно NaN
3019 40.782560 19A-PM-1013-05 10132018 5 Взрослый Ложь Ложь Ложь Ложь Истинно NaN Ложь Ложь Ложь Ложь Ложь Ложь Истинно Ложь NaN
3020 40.783678 22D-PM-1012-07 10122018 7 Взрослый Ложь Ложь Ложь Истинно Истинно NaN Ложь Ложь Ложь Ложь Ложь Ложь Истинно Ложь NaN

3023 строки × 20 столбцов

Вот еще один совет.Вы также можете использовать это обозначение при чтении данных с помощью
read_csv

:

 df_2 = pd.read_csv (
    'https://data.cityofnewyork.us/api/views/vfnx-vebw/rows.csv?accessType=DOWNLOAD&bom=true&format=true',
    usecols = np.r_ [1,2,5: 8,15: 30],
)
 

Я считаю эту нотацию полезной, когда у вас есть набор данных, в котором вы хотите сохранить непоследовательные столбцы и не
хотите ввести полные имена всех столбцов.

Я хотел бы сделать одно предостережение: вы должны быть осторожны при использовании нотации срезов и иметь в виду, что
последнее число в диапазоне не будет включено в сгенерированный список номеров.

Например, если указать диапазон
2: 4

, мы получаем только список из 2 и 3:

Если вы хотите включить индекс столбца 4, используйте
np.r_ [2: 5]

.

Последний комментарий к
np.r_

в том, что есть необязательный аргумент step.
В этом примере мы можем указать, что этот список будет увеличиваться на 2:

.

Это немного более продвинутый вариант, который не будет интуитивно очевиден для нового пользователя pandas.
Однако, если вы когда-нибудь обнаружите, что анализируете множество столбцов по индексу, это может быть полезным инструментом для
разобраться в сложном сценарии.

iloc и логические массивы

Один из самых эффективных способов фильтрации столбцов — передать логический массив в .
iloc

выбирать
подмножество столбцов. Это звучит немного сложно, но несколько примеров должны сделать это понятным.

Самая важная концепция заключается в том, что мы не создаем логический массив вручную, а используем вывод из
другая функция pandas для генерации массива и передачи его на
iloc

.

В этом случае мы можем использовать
ул.

аксессор в индексе столбца, как и в любом другом столбце данных pandas.Это сгенерирует необходимый логический массив, который
iloc

надеется. Пример должен помочь прояснить это.

Если мы хотим увидеть, какие столбцы содержат слово «запустить»:

 run_cols = df.columns.str.contains ('run', case = False)
печать (run_cols)
 
 массив ([Ложь, Ложь, Ложь, Ложь, Ложь, Ложь, Ложь, Ложь, Ложь,
    Ложь, Ложь, Ложь, Ложь, Ложь, Ложь, Истина, Ложь, Ложь,
    Ложь, Ложь, Ложь, Ложь, Ложь, Ложь, Ложь, Ложь, Ложь,
    Ложь, Истина, Ложь, Ложь, Ложь, Ложь, Ложь, Ложь, Ложь])
 

Затем мы можем передать этот новый массив логических значений, чтобы выбрать только два столбца:

 df.iloc [:, run_cols] .head ()
 
Бег Выполняется с
0 Ложь Ложь
1 Истинно Истинно
2 Ложь Ложь
3 Ложь Истинно
4 Ложь Ложь

На практике многие люди будут использовать
лямбда

функция для этого в одной строке:

 df.iloc [:, lambda df: df.columns.str.contains ('run', case = False)]
 

Преимущества использования
ул.

функции, которые вы можете усложнить с
возможные варианты фильтрации. Например, если мы хотим, чтобы все столбцы с
«Район», «участок» или «границы» в названии:

 df.iloc [:, lambda df: df.columns.str.contains ('округ | участок | границы',
                                              case = False)]. head ()
 
муниципальных районов Границы районов Горсовет Районов Участков полиции
0 19 4 19 13
1 19 4 19 13
2 19 4 19 13
3 19 4 19 13
4 19 4 19 13

Мы даже можем объединить все эти концепции вместе, используя результаты логического массива для получения индекса
затем используйте
нп.r_

объединить эти списки вместе.

Пример ниже можно упростить, используя
фильтр

. Пожалуйста, просмотрите
следующий раздел для объяснения
фильтр

и как использовать его с регулярным выражением.

Вот пример, в котором мы хотим получить все столбцы, связанные с местоположением, а также
Идентификатор белка в DataFrame:

 location_cols = df.columns.str.contains ('район | участок | границы',
                                        case = False)
location_indices = [я вместо я, столбец в перечислении (location_cols) если столбец]
df.iloc [:, np.r_ [0: 3, location_indices]]. head ()
 
Х Y Уникальная белка ID муниципальных районов Границы районов Горсовет Районов Участков полиции
0 -73.956134 40.794082 37F-PM-1014-03 19 4 19 13
1 -73.957044 40.794851 37E-PM-1006-03 19 4 19 13
2 -73,976831 40.766718 2E-AM-1010-03 19 4 19 13
3 -73.975725 40.769703 5D-PM-1018-05 19 4 19 13
4 -73.959313 40.797533 39Б-АМ-1018-01 19 4 19 13

Этот код немного сложен, поскольку мы используем понимание условного списка и может быть
перебор для выбора 7 столбцов. Важная концепция заключается в том, что вы знаете, что это возможно, и можете
вернитесь к этой статье, когда она понадобится вам для собственного анализа.

Фильтр

В исходной статье я не включил никакой информации об использовании фильтра pandas DataFrame.
для выбора столбцов.Я думаю, это в основном потому, что
фильтр

звучит так, как будто его следует использовать
фильтровать данные, а не имена столбцов. К счастью, вы можете использовать pandas
фильтр

выбирать
столбцы, и это очень полезно.

Если вы хотите выбрать столбцы, в названии которых есть «Районы», вы можете использовать
как

:

 df.filter (like = 'Районы')
 
муниципальных районов Горсовет Районов
0 19 19
1 19 19
2 19 19
3 19 19
4 19 19
3018 19 19
3019 19 19
3020 19 19
3021 19 19
3022 19 19

Вы также можете использовать регулярное выражение, чтобы было легко искать столбцы, содержащие один или несколько шаблонов:

 df.фильтр (регулярное выражение = 'ing | Дата')
 
Дата Бег В погоне Восхождение Еда Собирательство
0 10142018 Ложь Ложь Ложь Ложь Ложь
1 10062018 Истинно Ложь Ложь Ложь Ложь
2 10102018 Ложь Ложь Истинно Ложь Ложь
3 10182018 Ложь Ложь Истинно Ложь Ложь
4 10182018 Ложь Ложь Ложь Ложь Ложь
3018 10072018 Ложь Ложь Ложь Истинно Истинно
3019 10132018 Ложь Ложь Ложь Ложь Истинно
3020 10122018 Ложь Ложь Ложь Истинно Истинно
3021 10102018 Ложь Ложь Ложь Истинно Ложь
3022 10122018 Ложь Ложь Ложь Истинно Истинно

Более сложные
лямбда

приведенный выше пример можно было бы создать более лаконично.
используя
фильтр

:

 df.фильтр (регулярное выражение = 'Район | Участок | Границы')
 

Предостережения

При работе с числовым индексированием столбцов следует помнить о том, что вам нужно
чтобы понять, откуда берутся ваши данные. Если вы ожидаете, что столбец идентификатора всегда будет в определенном месте
и это меняет порядок данных, вы можете столкнуться с проблемами при последующей обработке данных.
В этой ситуации в игру вступают ваши знания и опыт, чтобы убедиться, что решение
достаточно надежен для данной ситуации.

Сводка

Большая часть моего анализа данных включает фильтрацию и выбор данных на уровне строк. тем не мение
бывают случаи, когда полезно работать с данными по столбцам. Панды

iloc

и
фильтр

может быть полезным инструментом для быстрой и эффективной работы
с наборами данных, которые содержат много столбцов данных. Я надеюсь, что эта статья дала пару советов, которые
поможет вам с вашим собственным анализом.

Изменения

  • 1 декабря 2019: Обновлены опечатки и уточнено использование read_clipboard для использования разделителя табуляции.
  • 24-июля-2020: включить, используя
    фильтр

    для выбора столбцов.

Повторять строку заголовка (заголовки столбцов) на каждой печатной странице в Excel

Сегодня я хотел бы рассказать вам о небольшой, но важной функции, скрытой в Excel 2016 и его предыдущих версиях. В этой статье вы узнаете, как сделать так, чтобы строки заголовков и заголовки столбцов печатались на каждой странице.

Если вам часто приходится печатать большие и сложные рабочие листы Excel, я уверен, что вы сталкиваетесь с этой проблемой так же часто, как и я.Я могу легко прокручивать документ вверх и вниз, не упуская из виду заголовки столбцов, потому что строка заголовка у меня заморожена. Однако когда я печатаю документ, верхняя строка печатается только на первой странице. Если вам надоело переворачивать распечатки вперед и назад, чтобы увидеть, какие данные находятся в каждом столбце или строке, не стесняйтесь найти решение проблемы в этой статье.

Повторять строки заголовка Excel на каждой странице

Ваш документ Excel получается длинным, и вам нужно его распечатать.Вы переходите к предварительному просмотру печати и обнаруживаете, что только первая страница имеет заголовки столбцов вверху. Не принимайте близко к сердцу! Вы можете указать параметры страницы, чтобы повторять верхнюю строку на каждой распечатываемой странице.

  1. Откройте лист, который вы собираетесь распечатать.
  2. Перейдите на вкладку РАЗМЕЩЕНИЕ СТРАНИЦЫ .
  3. Щелкните Печать заголовков в группе Параметры страницы .

  4. Убедитесь, что вы находитесь на вкладке Лист диалогового окна Параметры страницы .
  5. Найдите строк для повторения вверху в разделе Печатать заголовки .
  6. Щелкните значок Свернуть диалоговое окно рядом с полем « строк для повторения вверху».

    Диалоговое окно Page Setup свернуто, и вы вернетесь к рабочему листу.

    Вы можете заметить, что курсор изменится на черную стрелку. Это помогает выбрать всю строку одним щелчком мыши.

  7. Выберите строку или несколько строк, которые вы хотите печатать на каждой странице.

    Примечание: Чтобы выбрать несколько строк, щелкните первую строку, нажмите и удерживайте кнопку мыши и перетащите к последней строке, которую вы хотите выбрать.

  8. Нажмите Введите или кнопку Свернуть диалоговое окно еще раз, чтобы вернуться в диалоговое окно Параметры страницы .

    Теперь ваш выбор отображается в строках для повторения в верхнем поле .

    Примечание: Вы можете пропустить шаги 6-8 и ввести диапазон с клавиатуры.Однако обратите внимание на то, как вы его вводите — вам нужно использовать абсолютную ссылку (со знаком доллара $). Например, если вы хотите видеть первую строку на каждой напечатанной странице, ссылка должна выглядеть так: $ 1: $ 1.

  9. Щелкните Предварительный просмотр , чтобы увидеть результат.

Вот и все! Теперь вы точно знаете, что означают столбцы на каждой странице.

Получать столбец заголовка на каждой распечатке

Если ваш рабочий лист слишком широкий, столбец заголовка будет слева только на первой напечатанной странице.Если вы хотите сделать ваш документ более читабельным, выполните следующие действия, чтобы напечатать столбец с заголовками строк в левой части каждой страницы.

  1. Откройте рабочий лист, который нужно распечатать.
  2. Выполните шаги 2–4, как описано в разделе «Повторять строки заголовка Excel на каждой странице».
  3. Нажмите кнопку Свернуть Диалоговое окно справа от поля Столбцы, чтобы повторить слева .

  4. Выберите столбец или столбцы, которые вы хотите видеть на каждой печатной странице.
  5. Щелкните Введите или кнопку Свернуть Диалоговое окно еще раз, чтобы проверить, отображается ли выбранный диапазон в столбцах для повторения в поле слева.
  6. Нажмите кнопку Предварительный просмотр в диалоговом окне Параметры страницы , чтобы просмотреть документ перед печатью.

Теперь вам не нужно перелистывать страницы вперед и назад, чтобы найти значения в каждой строке.

Печать номеров строк и букв столбцов

Excel обычно обозначает столбцы рабочего листа буквами (A, B, C), а строки — числами (1, 2, 3).Эти буквы и цифры называются заголовками строк и столбцов. В отличие от заголовков строк и столбцов, которые по умолчанию печатаются только на первой странице, заголовки не печатаются вообще. Если вы хотите видеть эти буквы и цифры на своих распечатках, сделайте следующее:

  1. Откройте рабочий лист, который нужно напечатать, с заголовками строк и столбцов.
  2. Перейдите в группу Параметры листа на вкладке МАКЕТ СТРАНИЦЫ .
  3. Отметьте поле Печать под заголовками .

    Примечание: Если у вас все еще открыто окно Параметры страницы на вкладке Лист , просто установите флажок Заголовки строк и столбцов в разделе Печать . Он также делает заголовки строк и столбцов видимыми на каждой печатной странице.

  4. Откройте панель предварительного просмотра ( ФАЙЛ -> Печать или Ctrl + F2), чтобы проверить изменения.

Теперь все выглядит так, как вы хотели? 🙂

Команда «Печать заголовков» действительно может упростить вам жизнь.Строки и столбцы заголовков, напечатанные на каждой странице, упрощают понимание информации в документе. Вы не заблудитесь в распечатках, если на каждой странице есть заголовки строк и столбцов. Попробуйте, и вы получите от этого только пользу!

Вас также может заинтересовать

Решено: Добавить новый столбец к существующему набору данных и сосл …

Я добавил несколько столбцов в расширенный редактор, но после этого получаю сообщение об ошибке: мы ожидали, что newColumnNames будет иметь такое же количество элементов, что и columnNames.

Источник:

= Table.ExpandTableColumn (# «Удаленные столбцы1», «Данные», {«Столбец1», «Столбец1100», «Столбец2», «Столбец3», «Столбец4», «Столбец6», «Столбец7 «,» Column8 «,» Column9 «,» Column10 «,» Column11 «,» Column12 «,» Column13 «,» Column14 «,» Column15 «,» Column16 «,» Column1610 «,» Column1611 «,» Column1612 «, Column1613, Column1614, Column1615, Column1616, Column1617, Column1618, Column1619, Column1620, Column1621, Column17, Column18, Column19, Column20 «,» Столбец21 «,» Столбец22 «,» Столбец23 «,» Столбец24 «,» Столбец25 «,» Столбец26 «,» Столбец27 «,» Столбец28 «,» Столбец29 «,» Столбец30 «,» Столбец31 «,» Столбец32 «, «Столбец33», «Столбец34», «Столбец35», «Столбец36», «Столбец37», «Столбец38», «Столбец39», «Столбец40», «Столбец41», «Столбец412», «Столбец42», «Столбец43», «Столбец44 «,» Column442 «,» Column443 «,» Column444 «,» Column445 «,» Column446 «,» Column447 «,» Column448 «,» Column449 «,» Column450 «,» Column451 «,» Column452 «,» Column453 «, «Столбец45», «Столбец46», «Столбец47», «Столбец48», «Столбец49», «Столбец50», «Столбец51», «Столбец52», «Столбец53», «Столбец54», «Столбец55», «Столбец56», «Столбец57», «Столбец58», «Столбец59», «Столбец60 «,» Column61 «,» Column62 «,» Column63 «,» Column64 «,» Column65 «,» Column66 «,» Column67 «,» Column68 «,» Column69 «,» Column692 «,» Column70 «,» Column71 «, Column72, Column722, Column723, Column724, Column725, Column726, Column727, Column728, Column729, Column730, Column731, Column732, Column733 «,» Column73 «,» Column74 «,» Column75 «,» Column76 «,» Column77 «,» Column78 «,» Column79 «,» Column80 «,» Column81 «,» Column82 «,» Column83 «,» Column84 «, «Column85», «Column86», «Column87», «Column88», «Column89», «Column90», «Column91», «Column92», «Column93», «Column94», «Column95», «Column96», «Column97» «,» Column972 «,» Column98 «,» Column99 «,» Column100 «,» Column1002 «,» Column101 «,» Column102 «,» Column103 «,» Column1032 «,» Column1033 «,» Column1034 «,» Column1035 «, «Столбец1036», «Столбец1037», «Столбец1038», «Столбец1039», «Столбец1040″, » Column1041 «,» Column1042 «,» Column1043 «,» Column104 «,» Column105 «,» Column106 «,» Column107 «,» Column108 «,» Column109 «,» Column110 «,» Column111 «,» Column112 «,» Column113 » , «Column114», «Column115», «Column116», «Column117», «Column118», «Column119», «Column120», «Column121», «Column122», «Column123», «Column124», «Column125″, » Column126, Column127, Column128, Column1282, Column129, Column130, Column131, Column1312, Column1313, Column1314, Column1315, Column1316, Column1317 , «Столбец1318», «Столбец1319», «Столбец1320», «Столбец1321», «Столбец1322», «Столбец1323», «Столбец132», «Столбец133», «Столбец134», «Столбец135», «Столбец136», «Столбец137″, » Column138 «,» Column139 «,» Column140 «,» Column141 «,» Column142 «,» Column143 «,» Column144 «,» Column145 «,» Column146 «,» Column147 «,» Column148 «,» Column149 «,» Column150 » , «Column151», «Column152», «Column153», «Column154», «Column155», «Column156», «Column157», «Column158», «Column159», «Column1592», «Column160», «Column161″, » Колонка16 2 «,» Столбец1622 «,» Столбец1623 «,» Столбец1624 «,» Столбец1625 «,» Столбец1626 «,» Столбец1627 «,» Столбец1628 «,» Столбец1629 «,» Столбец1630 «,» Столбец1631 «,» Столбец1632 «,» Столбец1633 » , «Column163», «Column164», «Column165», «Column166», «Column167», «Column168», «Column169», «Column170», «Column171», «Column172», «Column173», «Column174″, » Column175, Column176, Column177, Column178, Column179, Column180, Column181, Column182, Column183, Column184, Column185, Column186, Column187 , «Столбец1872», «Столбец188», «Столбец189», «Столбец190», «Столбец1902», «Столбец1903», «Столбец1904», «Столбец1905», «Столбец1906», «Столбец1907», «Столбец1908», «Столбец1909″, » Column1910 »,« Column1911 »,« Column1912 »,« Column1913 »,« Column191 »,« Column192 »,« Column193 »,« Column194 »,« Column195 »,« Column196 »,« Column197 »,« Column198 »,« Column199 » , «Столбец200», «Столбец201», «Столбец202», «Столбец203», «Столбец204», «Столбец205», «Столбец206», «Столбец207», «Столбец208», «Столбец209», «Столбец210», «Столбец211″, » Столбец 21 2 «,» Столбец213 «,» Столбец214 «,» Столбец215 «,» Столбец2152 «,» Столбец216 «,» Столбец217 «,» Столбец218 «,» Столбец2182 «,» Столбец219 «,» Столбец220 «,» Столбец221 «,» Столбец2212 » , «Столбец2213», «Столбец2214», «Столбец2215», «Столбец2216», «Столбец2217», «Столбец2218», «Столбец2219», «Столбец2220», «Столбец2221», «Столбец2222», «Столбец2223», «Столбец222″, » Column223, Column224, Column225, Column226, Column227, Column228, Column229, Column230, Column231, Column232, Column233, Column234, Column235 , «Column236», «Column237», «Column238», «Column239», «Column240», «Column241», «Column242», «Column243», «Column244», «Column245», «Column246», «Column2462″, » Column247, Column248, Column249, Column2492, Column2493, Column2494, Column2495, Column2496, Column2497, Column2498, Column2499, Column2500, Column2501 , «Column2502», «Column2503», «Column250», «Column251», «Column252», «Column253», «Column254», «Column255», «Column256», «Column257», «Column258», «Column259″, » Столбец 260 «,» Столбец261 «,» Столбец262 «,» Столбец263 «,» Столбец264 «,» Столбец265 «,» Столбец266 «,» Столбец267 «,» Столбец268 «,» Столбец269 «,» Столбец270 «,» Столбец271 «,» Столбец272 » , «Column273», «Column274», «Column2742», «Column275», «Column276», «Column277», «Column2772», «Column278», «Column279»}, {«Данные.Column1 «,» Data.Column1100 «,» Data.Column2 «,» Data.Column3 «,» Data.Column4 «,» Data.Column5 «,» Data.Column6 «,» Data.Column7 «,» Data.Column8 » , «Data.Column9», «Data.Column10», «Data.Column11», «Data.Column12», «Data.Column13», «Data.Column14», «Data.Column15», «Data.Column16″, » Data.Column1610 »,« Data.Column1611 »,« Data.Column1612 »,« Data.Column1613 »,« Data.Column1614 »,« Data.Column1615 »,« Data.Column1616 »,« Data.Column1617 »,« Data. Столбец1618, Data.Column1619, Data.Column1620, Data.Column1621, Данные.Column17 «,» Data.Column18 «,» Data.Column19 «,» Data.Column20 «,» Data.Column21 «,» Data.Column22 «,» Data.Column23 «,» Data.Column24 «,» Data.Column25 » , «Data.Column26», «Data.Column27», «Data.Column28», «Data.Column29», «Data.Column30», «Data.Column31», «Data.Column32», «Data.Column33″, » Data.Column34 »,« Data.Column35 »,« Data.Column36 »,« Data.Column37 »,« Data.Column38 »,« Data.Column39 »,« Data.Column40 »,« Data.Column41 »,« Data. Column412 «,» Data.Column42 «,» Data.Column43 «,» Data.Column44 «,» Data.Column442 «,» Data.Column443 «,» Data.Column444 «,» Data.Column445 «,» Data.Column446 «,» Data.Column447 «,» Data.Column448 «,» Data.Column449 «,» Data.Column450 «,» Data.Column451 » , «Data.Column452», «Data.Column453», «Data.Column45», «Data.Column46», «Data.Column47», «Data.Column48», «Data.Column49», «Data.Column50″, » Data.Column51 »,« Data.Column52 »,« Data.Column53 »,« Data.Column54 »,« Data.Column55 »,« Data.Column56 »,« Data.Column57 »,« Data.Column58 »,« Data. Столбец59 «,» Data.Column60 «,» Data.Column61 «,» Data.Column62 «,» Данные.Column63 «,» Data.Column64 «,» Data.Column65 «,» Data.Column66 «,» Data.Column67 «,» Data.Column68 «,» Data.Column69 «,» Data.Column692 «,» Data.Column70 » , «Data.Column71», «Data.Column72», «Data.Column722», «Data.Column723», «Data.Column724», «Data.Column725», «Data.Column726», «Data.Column727″, » Data.Column728 »,« Data.Column729 »,« Data.Column730 »,« Data.Column731 »,« Data.Column732 »,« Data.Column733 »,« Data.Column73 »,« Data.Column74 »,« Data. Column75, Data.Column76, Data.Column77, Data.Column78, Data.Column79, Data.Column80, Data.Column81, Data.Column82, Data.Column83, Data.Column84, Data.Column85, Data.Column86, Data.Column87. , «Data.Column88», «Data.Column89», «Data.Column90», «Data.Column91», «Data.Column92», «Data.Column93», «Data.Column94», «Data.Column95″, » Data.Column96 »,« Data.Column97 »,« Data.Column972 »,« Data.Column98 »,« Data.Column99 »,« Data.Column100 »,« Data.Column1002 »,« Data.Column101 »,« Data. Столбец102 «,» Данные.Столбец103 «,» Данные.Столбец1032 «,» Данные.Столбец1033 «,» Данные.Column1034 «,» Data.Column1035 «,» Data.Column1036 «,» Data.Column1037 «,» Data.Column1038 «,» Data.Column1039 «,» Data.Column1040 «,» Data.Column1041 «,» Data.Column1042 » , «Data.Column1043», «Data.Column104», «Data.Column105», «Data.Column106», «Data.Column107», «Data.Column108», «Data.Column109», «Data.Column110″, » Data.Column111 »,« Data.Column112 »,« Data.Column113 »,« Data.Column114 »,« Data.Column115 »,« Data.Column116 »,« Data.Column117 »,« Data.Column118 »,« Data. Столбец119 «,» Data.Column120 «,» Data.Column121 «,» Данные.Column122 «,» Data.Column123 «,» Data.Column124 «,» Data.Column125 «,» Data.Column126 «,» Data.Column127 «,» Data.Column128 «,» Data.Column1282 «,» Data.Column129 » , «Data.Column130», «Data.Column131», «Data.Column1312», «Data.Column1313», «Data.Column1314», «Data.Column1315», «Data.Column1316», «Data.Column1317″, » Data.Column1318 »,« Data.Column1319 »,« Data.Column1320 »,« Data.Column1321 »,« Data.Column1322 »,« Data.Column1323 »,« Data.Column132 »,« Data.Column133 »,« Data. Столбец134 «,» Данные.Столбец135 «,» Данные.Столбец136 «,» Данные.Column137 «,» Data.Column138 «,» Data.Column139 «,» Data.Column140 «,» Data.Column141 «,» Data.Column142 «,» Data.Column143 «,» Data.Column144 «,» Data.Column145 » , «Data.Column146», «Data.Column147», «Data.Column148», «Data.Column149», «Data.Column150», «Data.Column151», «Data.Column152», «Data.Column153″, » Data.Column154 »,« Data.Column155 »,« Data.Column156 »,« Data.Column157 »,« Data.Column158 »,« Data.Column159 »,« Data.Column1592 »,« Data.Column160 »,« Data. Столбец161 «,» Data.Column162 «,» Data.Column1622 «,» Данные.Column1623 «,» Data.Column1624 «,» Data.Column1625 «,» Data.Column1626 «,» Data.Column1627 «,» Data.Column1628 «,» Data.Column1629 «,» Data.Column1630 «,» Data.Column1631 » , «Data.Column1632», «Data.Column1633», «Data.Column163», «Data.Column164», «Data.Column165», «Data.Column166», «Data.Column167», «Data.Column168″, » Data.Column169 »,« Data.Column170 »,« Data.Column171 »,« Data.Column172 »,« Data.Column173 »,« Data.Column174 »,« Data.Column175 »,« Data.Column176 »,« Data. Столбец177 «,» Data.Column178 «,» Data.Column179 «,» Данные.Column180 «,» Data.Column181 «,» Data.Column182 «,» Data.Column183 «,» Data.Column184 «,» Data.Column185 «,» Data.Column186 «,» Data.Column187 «,» Data.Column1872 » , «Data.Column188», «Data.Column189», «Data.Column190», «Data.Column1902», «Data.Column1903», «Data.Column1904», «Data.Column1905», «Data.Column1906″, » Data.Column1907 »,« Data.Column1908 »,« Data.Column1909 »,« Data.Column1910 »,« Data.Column1911 »,« Data.Column1912 »,« Data.Column1913 »,« Data.Column191 »,« Data. Столбец192 «,» Данные.Столбец193 «,» Данные.Столбец194 «,» Данные.Column195 «,» Data.Column196 «,» Data.Column197 «,» Data.Column198 «,» Data.Column199 «,» Data.Column200 «,» Data.Column201 «,» Data.Column202 «,» Data.Column203 » , «Data.Column204», «Data.Column205», «Data.Column206», «Data.Column207», «Data.Column208», «Data.Column209», «Data.Column210», «Data.Column211″, » Data.Column212 »,« Data.Column213 »,« Data.Column214 »,« Data.Column215 »,« Data.Column2152 »,« Data.Column216 »,« Data.Column217 »,« Data.Column218 »,« Data. Столбец2182 «,» Данные.Столбец219 «,» Данные.Столбец220 «,» Данные.Column221 «,» Data.Column2212 «,» Data.Column2213 «,» Data.Column2214 «,» Data.Column2215 «,» Data.Column2216 «,» Data.Column2217 «,» Data.Column2218 «,» Data.Column2219 » , «Data.Column2220», «Data.Column2221», «Data.Column2222», «Data.Column2223», «Data.Column222», «Data.Column223», «Data.Column224», «Data.Column225″, » Data.Column226 »,« Data.Column227 »,« Data.Column228 »,« Data.Column229 »,« Data.Column230 »,« Data.Column231 »,« Data.Column232 »,« Data.Column233 »,« Data. Столбец234 «,» Данные.Столбец235 «,» Данные.Столбец236 «,» Данные.Column237 «,» Data.Column238 «,» Data.Column239 «,» Data.Column240 «,» Data.Column241 «,» Data.Column242 «,» Data.Column243 «,» Data.Column244 «,» Data.Column245 » , «Data.Column246», «Data.Column2462», «Data.Column247», «Data.Column248», «Data.Column249», «Data.Column2492», «Data.Column2493», «Data.Column2494″, » Data.Column2495 »,« Data.Column2496 »,« Data.Column2497 »,« Data.Column2498 »,« Data.Column2499 »,« Data.Column2500 »,« Data.Column2501 »,« Data.Column2502 »,« Data. Column2503 «,» Data.Column250 «,» Data.Column251 «,» Data.Column252 «,» Data.Column253 «,» Data.Column254 «,» Data.Column255 «,» Data.Column256 «,» Data.Column257 «,» Data.Column258 «,» Data.Column259 «,» Data.Column260 » , «Data.Column261», «Data.Column262», «Data.Column263», «Data.Column264», «Data.Column265», «Data.Column266», «Data.Column267», «Data.Column268″, » Data.Column269 »,« Data.Column270 »,« Data.Column271 »,« Data.Column272 »,« Data.Column273 »,« Data.Column274 »,« Data.Column2742 »,« Data.Column275 »,« Data. Столбец276 «,» Data.Column277 «,» Data.Column2772 «,» Данные.Column278 «,» Data.Column279 «})

Подготовка данных для модели машинного обучения.

Прежде чем вы будете готовы передать набор данных в выбранную модель машинного обучения, важно провести некоторую предварительную обработку, чтобы данные соответствовали нашей модели. В идеальном мире у вас будет идеально чистый набор данных без ошибок или отсутствующих значений. Однако в реальном мире такие наборы данных редки и необычны.В этом посте я буду очищать набор данных от Kaggle о психическом здоровье в технологиях. Я взглянул на этот набор данных с моим другом Флорианом (он потрясающий, посмотрите его здесь) в начале этого года и решил, что он послужит хорошим примером для этого поста.

Проверка данных

Трудно понять, что делать, если вы не знаете, с чем работаете, поэтому давайте загрузим наш набор данных и взглянем. Вы можете следить за этим в Блокноте Jupyter, если хотите.

  импорт панд как pd
импортировать numpy как np

df = pd.read_csv ("Survey.csv")
num_columns = len (df.columns)
pd.set_option ("display.max_columns", num_columns)
df.head (30)
  

Функция pandas head () по умолчанию возвращает первые 5 строк вашего фрейма данных, но я хотел увидеть немного больше, чтобы лучше понять набор данных.

Пока мы занимаемся этим, давайте также посмотрим на форму фрейма данных. Запуск df.shape вернет информацию о размерности нашего фрейма данных (в данном случае это количество строк и столбцов), которая, по сути, расскажет вам, со сколькими примерами и функциями вы работаете.

Совет для профессионалов: вы можете вернуть количество наблюдений в вашем наборе данных с помощью df.shape [0] и количество объектов в вашем наборе данных с помощью df.shape [1] . Это часто бывает полезно при построении модели.

Прежде всего необходимо понять, какие функции содержит наш набор данных. Вы можете прочитать описание каждой функции для этого набора данных на Kaggle.

Вместо того, чтобы изучать каждую функцию по отдельности, я выбрал более ленивый путь и выполнил следующее:

  feature_names = df.columns.tolist ()
feature_names.remove ('Отметка времени')
feature_names.remove ('комментарии')

для столбца в feature_names:
    столбец печати
    print df [столбец] .value_counts (dropna = False)
  

Это распечатало ячейку в моей записной книжке с тоннами информации о моем наборе данных, которую я мог легко получить, просто пролистав ее. Просматривая набор данных, я обращал внимание на такие вещи, как повторяющиеся метки, ошибочные или нулевые значения и другие вещи, которые просто не совсем подходили.

Хотя многие колонки и так были в порядке, пару колонок нужно было очистить. Вот список вещей, которые, как я обнаружил, требовали внимания, прежде чем вводить эту модель в алгоритм машинного обучения.

  • Столбец Возраст содержал людей, которые еще не родились (отрицательные числа).
  • Столбец Возраст также содержал детей (например, 5-летних), которые вряд ли будут участвовать в опросе о своем рабочем месте.
  • В столбце Возраст был кто-то, кому 99999999999 лет, он должен быть в Книге рекордов Гиннеса или что-то в этом роде.Шутки в сторону, это значение ошибочное.
  • Для Gender указано 49 различных значений. Moreso, «мужчина» и «мужчина» якобы одно и то же, но в настоящее время рассматриваются как две разные категории.
  • self_employed и work_interfere содержат некоторые нулевые значения.

Для числовых функций также может быть полезно быстро изучить любые возможные корреляции между функциями. Вы можете использовать pandas scatter_matrix , чтобы легко визуализировать ваши данные.

Разделите элементы и метки

Если мы используем метод машинного обучения с учителем, нам необходимо различать данные между функциями и метками для каждого наблюдения. В конечном итоге это зависит от того, что вы хотите предсказать или классифицировать. В данном случае я решил, что хочу построить классификатор, чтобы предсказать, обратится ли кто-нибудь за лечением.

  features = df.drop ('лечение', 1)
метки = df ['лечение']
  

Очистка нулевых значений (отсутствующие данные)

Начнем с выяснения, что делать с нулевыми значениями, найденными в self_employed и work_interfere .В обоих случаях столбец содержит категориальные данные. Важно отметить различие между обработкой нулевых значений для категориальных и числовых данных, поскольку обработка будет зависеть от типа имеющихся данных.

Не существует точно шаблонного подхода к обработке недостающих данных, поскольку обработка во многом зависит от контекста и природы данных. Например, отсутствуют ли данные случайным образом или существует скрытая связь между отсутствующими данными и каким-либо другим предиктором?

Один из вариантов работы с отсутствующими данными — просто проигнорировать или удалить строки, в которых отсутствуют данные, исключив их из нашего анализа.Однако этот метод часто непопулярен из-за потери информации, особенно если в ваших недостающих данных был шаблон.

Еще один метод обработки пропущенных значений — это вменение , где мы заменяем нулевое значение нашим лучшим предположением о том, каким может быть это значение. Базовые реализации просто заменят все отсутствующие значения средним / медианным / режимом всех значений для данной функции. Более продвинутые реализации будут использовать другие функции, чтобы разработать оценщик для вашего недостающего значения.

Возьмите следующий пример, который представляет собой небольшой набор данных, содержащий три характеристики (погодные условия, температуру и влажность), чтобы предсказать, буду ли я играть в теннис.

Погода Температура Влажность Играть в теннис?
1 облачно 60 NaN да
2 дождливый 75 80% NaN
3 пасмурно NaN 50%
4 солнечно 65 40% да

Если мы удалим все строки с нулевыми значениями, у нас останется одна строка, и наш предсказатель всегда будет угадывать, что я буду играть в теннис, потому что это единственный пример, на котором ему нужно учиться.Предположим, вместо этого мы решили заменить нулевое значение температуры в строке 3 на среднее значение. В этом случае температура в строке 3 будет искусственно сообщена как 65. Если бы мы хотели придумать более причудливую замену нулевого значения влажности в строке 1, мы могли бы обучить оценщик угадывать, какому значению могут быть присвоены данные о погоде и температуре. предоставлена. Важно отметить, что при вменении данных вы искусственно уменьшаете разброс в вашем наборе данных, создавая новые значения, близкие (или равные) среднему.

Для более глубокого анализа методов обработки недостающих значений данных, ознакомьтесь с этой главой о вменении отсутствующих данных.

Scikit-learn предоставляет импьютерную реализацию для работы с отсутствующими данными, как показано в примере ниже.

  из sklearn.preprocessing import Imputer
imputer = Imputer (missing_values ​​= 'NaN', стратегия = 'mean', axis = 0)
imputer.fit (особенности)
features = imputer.transform (функции)
  

Поиск повторяющихся имен

Ранее я упоминал, что существует 49 различных значений для «Пол», и я подозревал, что некоторые из этих значений не следует рассматривать как отдельные категории.В конечном итоге я решил повторно сегментировать данные на 3 категории: мужчины, женщины и другие (что составляет небинарных и трансгендерных лиц).

Если бы я хотел создать механизм предварительной обработки, который мог бы очищать входящие данные, я, вероятно, мог бы выбрать более изящный подход и использовать несколько умных регулярных выражений для переклассификации этого столбца. Увы, я выбрал быстрый и грязный подход.

  male_terms = [«мужской», «m», «mal», «msle», «malr», «mail», «make», «cis male», «man», «maile», «мужской (cis ) "," цис-мужчина "]

female_terms = ["женщина", "f", "женщина", "femake", "femaile", "femake", "cis female", "cis-female / femme", "female (cis)", "femail» , "cis woman"]

def clean_gender (ответ):
    если ответ.lower (). rstrip () в male_terms:
        return "Male"
    elif response.lower (). rstrip () в female_terms:
        return "Женский"
    еще:
        вернуть "Другое"

df ['Gender'] = df ["Gender"]. apply (lambda x: clean_gender (x))
  

Обнаружение выбросов

Как я упоминал ранее, казалось, что были некоторые выбросы для Age , которые кажутся ошибочными. Такие примеры, как отрицательный возраст или очень большие целые числа, могут отрицательно повлиять на производительность нашего алгоритма машинного обучения, и нам нужно будет их решить.

Я пошел дальше и определил допустимый диапазон возрастов для взрослых на рабочем месте и заменил числа вне этого диапазона нулевыми значениями.

  df.Age.loc [(df.Age <18) | (df.Age> 80)] = np.nan
  

Эти нулевые значения затем можно было бы обработать с помощью описанного ранее sklearn Imputer.

После определения рабочего диапазона я хотел визуализировать распределение возрастов, представленных в этом наборе данных.

 % встроенная библиотека matplotlib
импортировать seaborn как sns
sns.установить (color_codes = True)
сюжет = sns.distplot (df.Age.dropna ())
plot.figure.set_size_inches (6,6)
  

Примечание: pandas имеет встроенные возможности построения графиков, которые вы можете использовать, но я фанат морского пейзажа и хотел показать, что у вас есть возможности, когда дело доходит до визуализации данных.

Хорошо, на данный момент похоже, что мы работаем с довольно чистым набором данных. Однако мы все еще не готовы передать наши данные в модель машинного обучения.

Кодирование данных

Многие алгоритмы машинного обучения ожидают числовых входных данных, поэтому нам нужно выяснить способ представления наших категориальных данных в числовой форме.

Одним из решений этого может быть произвольное присвоение числового значения для каждой категории и сопоставление набора данных из исходных категорий каждому соответствующему номеру. Например, давайте посмотрим на столбец «отпуск» (насколько легко вам взять отпуск по болезни из-за психического состояния?) В нашем наборе данных

  df ['leave']. Value_counts (dropna = False)
  

, который возвращает следующие значения.

  Затрудняюсь ответить 563
Скорее просто 266
Очень просто 206
Довольно сложно 126
Очень сложно 98
Имя: leave, dtype: int64
  

Чтобы закодировать эти данные, мы можем сопоставить каждое значение с числом.

  df ['leave'] = df ['leave']. Map ({'Очень сложно': 0, 'Довольно сложно': 1, 'Не знаю': 2, 'Довольно просто': 3, 'Очень просто': 4})
  

Этот процесс известен как кодирование меток, и sklearn сделает это за вас.

  из предварительной обработки sklearn import
label_encoder = предварительная обработка.LabelEncoder ()
label_encoder.fit (df ['оставить'])
label_encoder.transform (df ['оставить'])
  

Проблема с этим подходом в том, что вы вводите заказ, который может отсутствовать.В этом случае можно утверждать, что данные являются порядковыми («очень сложно» меньше, чем «отчасти сложно», что меньше, чем «отчасти легко», которое меньше «очень легко»), но во многих случаях категориальные данные не имеют порядка. Например, если у вас есть функция для видов животных, не имеет смысла присваивать значения, например, кошки меньше собак. Опасность кодирования этикеток заключается в том, что ваш алгоритм машинного обучения может научиться отдавать предпочтение собакам, а не кошкам из-за искусственных порядковых значений, которые вы вводили во время кодирования.

Распространенным решением для кодирования номинальных данных является горячее кодирование.

Вместо того, чтобы заменять категориальное значение числовым значением (кодировка метки), как показано ниже

видов числовое кодирование
1 кот 1
2 собака 2
3 змея 3
4 кот 1
5 собака 2
6 черепаха 4
7 собака 2

вместо этого мы создаем столбец для каждого значения и используем единицы и нули для обозначения выражения каждого значения.Эти новые столбцы часто называют фиктивными переменными.

видов is_cat is_dog is_snake is_turtle
1 кот 1 0 0 0
2 собака 0 1 0 0
3 змея 0 0 1 0
4 кот 1 0 0 0
5 собака 0 1 0 0
6 черепаха 0 0 0 1
7 собака 0 1 0 0

Вы можете выполнить однократное кодирование непосредственно в Pandas или использовать sklearn, хотя sklearn немного более запутан, поскольку однократный кодировщик работает только для ввода целочисленных значений.В нашем примере (где входными данными являются строки) нам нужно сначала выполнить кодирование меток, а затем выполнить быстрое кодирование данных.

  # Использование панд
импортировать панд как pd
pd.get_dummies (особенности ['leave'])

# Использование sklearn
из sklearn.preprocessing import LabelEncoder, OneHotEncoder
label_encoder = LabelEncoder ()
ohe = OneHotEncoder (category_features = ['оставить'])
label_encoded_data = label_encoder.fit_transform (функции ['leave'])
ohe.fit_transform (label_encoded_data.reshape (-1,1))
  

Масштабирование элементов

На этом этапе мы успешно очистили наши данные и преобразовали их в форму, которая легко используется алгоритмами машинного обучения.Однако на этом этапе мы должны подумать, будет ли какой-либо метод нормализации данных полезным для нашего алгоритма. Это зависит от (1) данных, (2) того, что мы пытаемся изучить, и (3) алгоритма, который мы планируем реализовать. Иногда вам придется вернуться к этому шагу, если вы решите изменить алгоритм машинного обучения.

Данные

Предположим, у вас есть набор данных объектов с разными единицами измерения: температура в Кельвинах, относительная влажность в процентах и ​​день года. Если этот набор данных представляет значения погоды в Роли, мы можем увидеть следующие диапазоны для каждой функции.

  • Температура: от 270 K до 305 K
  • Влажность: от 0 до 1 (т.е. влажность 30% представлена ​​0,3)
  • День года: от 0 до 365

Когда вы интерпретируете эти значения, вы интуитивно нормализуете значения, когда думаете о них. Например, вы понимаете, что увеличение влажности на 0,5 (помните: это 50%) гораздо более резкое изменение, чем увеличение на 0,5 Кельвина. Однако, если мы не масштабируем эти функции, наш алгоритм может научиться использовать температуру в качестве основного предиктора просто потому, что его масштаб наибольший (и, следовательно, изменения значений температуры наиболее значимы для алгоритма).Масштабирование функций позволяет всем функциям вносить одинаковый вклад (или, что более уместно, позволяет функциям вносить свой вклад в соответствии с их важностью, а не масштабом).

Что мы пытаемся изучить

Иногда нам хотелось бы иметь возможность интерпретировать наши коэффициенты, и изменение шкалы с реальной (например, долларовой) на произвольную затрудняет интерпретацию наших результатов.

Алгоритм

Если вы используете такой инструмент, как градиентный спуск, для оптимизации своего алгоритма, масштабирование функций позволяет согласованно обновлять веса по всем измерениям.

Следующие эскизы заимствованы из слайдов Эндрю Нг по градиентному спуску. Первое изображение представляет два объекта с разными масштабами, а второе — нормализованное пространство признаков. Оптимизация градиентного спуска может занять много времени для поиска локального оптимума, поскольку он перемещается вперед и назад по контурам. Нормализованное пространство функций обеспечивает более быструю сходимость.

алгоритмов машинного обучения, требующих масштабирования функций:

  • Логистическая регрессия
  • SVM
  • Персептроны
  • Нейронные сети
  • PCA

алгоритмов машинного обучения, не требующих масштабирования функций:

  • Деревья решений (и случайные леса)
  • Наивный Байес

Примечание: приведенные выше списки ни в коем случае не являются исчерпывающими, а просто служат для примера.

Существует несколько различных методов масштабирования функций до стандартизованного диапазона. Скейлеры min-max и стандартные скейлеры — два из наиболее часто используемых подходов.

При масштабировании мин-макс наименьшее наблюдаемое значение устанавливается на 0, а наибольшее наблюдаемое значение — на 1.

[{X_ {sc}} = \ frac {{X — {X _ {\ min}}}} {{{X _ {\ max}} — {X _ {\ min}}}}]

Стандартное масштабирование преобразует данные в стандартное нормальное распределение.
[z = \ frac {{X — \ mu}} {\ sigma}]

Чтобы сделать это (масштабирование функций) на практике, вы можете использовать встроенные библиотеки в sklearn.

  # Масштабирование функций с помощью StandardScaler
из sklearn.preprocessing import StandardScaler
scale_features_std = StandardScaler ()
features_train = scale_features_std.fit_transform (features_train)
features_test = scale_features_std.transform (features_test)

# Масштабирование функций с помощью MinMaxScaler
из sklearn.preprocessing import MinMaxScaler
scale_features_mm = MinMaxScaler ()
features_train = scale_features_mm.fit_transform (features_train)
features_test = scale_features_mm.transform (features_test)
  

Несколько замечаний по этой реализации:

  • На практике вы можете решить масштабировать только определенные столбцы.Например, вам не нужно масштабировать фиктивные переменные из однократного кодирования.
  • Вы захотите масштабировать свои функции одинаково как для обучающего, так и для тестового наборов (здесь я забегаю вперед, следите за обновлениями в следующем разделе), поэтому обязательно трансформируйте только тестовый набор, а не переустанавливайте масштабатор. .
  • В приведенном выше коде я предоставил два способа масштабирования набора функций. Выберите один.

Разделение данных для обучения и тестирования

Одна из последних вещей, которые нам нужно сделать для подготовки данных для алгоритма машинного обучения, — это разделить данные на подмножества для обучения и тестирования.Помните, что машинное обучение — это обучение компьютеров выполнению задачи на множестве примеров. Мы научим компьютер, используя имеющиеся у нас данные, но в идеале алгоритм будет работать так же хорошо и с новыми данными. Принцип разделения «поезд / тест» состоит в том, чтобы пожертвовать некоторыми данными для обучения в попытке оценить алгоритм на «новых» данных, которые он еще не видел. Это важно, потому что мы хотим убедиться, что наш алгоритм может обобщать полученные знания на приведенных примерах.

Хорошая аналогия, которую я однажды слышал, касается концепции подготовки к тесту. Предположим, у нас есть два ученика, которые готовятся к одному и тому же тесту: один ученик пытается понять общие концепции, которые будут проверяться, в то время как другой ученик просто запоминает каждый пример из соответствующих наборов домашних заданий. Если в тесте есть новые задачи, которых не было в домашнем задании, но которые все еще связаны с обсуждаемыми концепциями, бывший ученик справится с тестом намного лучше, чем ученик, который запомнил ответы домашнего задания.В машинном обучении мы используем термин « переоснащение », чтобы описать, слишком ли сильно алгоритм считал данные, которые мы предоставили в качестве примеров, или способен ли он обобщить концепции, которым мы пытались его научить.

Давайте продолжим и разделим данные на два подмножества (на самом деле это четыре подмножества, поскольку мы уже отделили функции от меток).

  из sklearn.model_selection import train_test_split
features_train, features_test, labels_train, labels_test = train_test_split (функции, метки, test_size = 0.25, random_state = 0)
  

Примечание: при этом также будут перемешаны ваши данные. Это важно, если ваши данные заказаны.

Проверочные данные

При построении модели машинного обучения мы часто разделяем данные на три подмножества: обучающие, проверочные и тестовые подмножества. Данные обучения используются для «обучения» модели, данные проверки используются для поиска лучшей архитектуры модели, а данные тестирования зарезервированы в качестве объективного оценщика нашей модели. При построении модели нам часто предлагают выбор в отношении общего дизайна модели; данные проверки позволяют нам оценивать несколько дизайнов в поисках лучшего дизайна, но при этом мы «подгоняем» дизайн нашей модели к этому подмножеству.Таким образом, тестовые данные по-прежнему полезны для определения того, насколько хорошо наша модель обобщит полученные знания на новые данные.

Для задач машинного обучения с ограниченными данными желательно максимизировать объем данных, используемых для фактического обучения вашей модели. Однако вы все равно должны хранить достаточно данных для набора для проверки, чтобы оценить производительность модели. В таких ситуациях может пригодиться перекрестная проверка K-складок.

Для перекрестной проверки K-кратности мы разбиваем набор данных на $ K $ бункеров.Затем мы проведем $ K $ различных обучающих экспериментов, каждый раз выбирая одну ячейку в качестве подмножества оценки, а остальные используем для обучения нашего алгоритма. Затем мы можем усреднить результаты всех экспериментов, чтобы получить точную картину его производительности, используя весь набор данных (хотя и не одновременно) для обучения и тестирования производительности нашего алгоритма. Очевидно, что этот подход займет больше времени, но он даст более точную оценку нашей модели машинного обучения.

Изображение предоставлено

Проверка согласованности распределений по подмножествам

Вы получите наилучшие результаты, если будете тренировать и оценивать свои данные на данных, которые имеют аналогичное распределение.Таким образом, лучше всего проверить это при разделении данных на подмножества.

Какого объема данных достаточно?

Еще одна полезная вещь, которую можно сделать на этом этапе, — построить кривые обучения , чтобы оценить, достаточно ли вы собрали данных. Эти кривые обучения отображают оценки обучения и проверки вашего алгоритма для различного количества обучающих примеров.

Изображение предоставлено

Вы увидите, что в определенный момент ваша модель выйдет на плато, и вы начнете получать убывающую отдачу от добавления дополнительных обучающих примеров.Это в первую очередь полезно, так как сообщит вам, что вам либо нужно собрать больше данных, либо вы собрали достаточно данных, и вам не следует тратить больше времени на наращивание набора данных. Для обучения с учителем сбор и разметка дополнительных данных для использования в модели часто может быть дорогостоящим.

Примечание: вот где сияет глубокое обучение! Методы глубокого обучения, как правило, тем больше способствуют обучению и совершенствованию, чем больше данных вы им вводите.

Пример реализации кривой обучения sklearn можно найти здесь.

Проклятие размерности

Наконец, я хотел бы вкратце отметить, что простое использование всей информации, имеющейся в нашем алгоритме машинного обучения, как правило, не лучшая идея. Это обычно называют проклятием размерности, которое означает, что по мере роста количества функций в нашем наборе данных объем данных, которые нам нужно точно обобщить, растет в геометрической прогрессии.

Дополнительная литература

Объединение функций из разных источников
Как работать с отсутствующими данными
Курс Kaggle по разработке функций

Обработка данных с dplyr и tidyr — R для социологов

Обзор

Обучение: 50 мин.

Упражнения: 30 мин.

Вопросы

  • Как выбрать определенные строки и / или столбцы из фрейма данных?

  • Как объединить несколько команд в одну?

  • Как создать новые столбцы или удалить существующие столбцы из фрейма данных?

  • Как я могу переформатировать фрейм данных в соответствии со своими потребностями?

Цели

  • Опишите назначение пакета R и пакетов dplyr и tidyr .

  • Выберите определенные столбцы в кадре данных с помощью функции dplyr select .

  • Выберите определенные строки в кадре данных в соответствии с условиями фильтрации с помощью функции dplyr , filter .

  • Свяжите вывод одной функции dplyr с вводом другой функции с помощью оператора «труба» %>% .

  • Добавить новые столбцы в фрейм данных, которые являются функциями существующих столбцов с mutate .

  • Используйте концепцию разделения-применения-объединения для анализа данных.

  • Используйте суммировать , group_by и count , чтобы разделить фрейм данных на группы наблюдений, применить сводную статистику для каждой группы, а затем объединить результаты.

  • Опишите концепцию формата широкой и длинной таблицы и укажите, для каких целей эти форматы полезны.

  • Опишите роли имен переменных и связанных с ними значений при изменении формы таблицы.

  • Измените форму кадра данных из длинного в широкий формат и обратно с помощью команд pivot_wider и pivot_longer из пакета tidyr .

  • Экспорт кадра данных в файл csv.

dplyr — это пакет для упрощения обработки табличных данных с помощью
ограниченный набор функций, которые можно комбинировать для извлечения и обобщения информации
из ваших данных.Он прекрасно сочетается с тидиром , что позволяет быстро
конвертировать между различными форматами данных (длинные и широкие) для построения графиков и анализа.

Аналогично readr , dplyr и tidyr также являются частью
тидиверс. Эти пакеты были загружены в память R, когда мы вызывали
Библиотека (тидиверс) ранее.

Примечание

Пакеты в tidyverse, а именно dplyr , tidyr и ggplot2
принимают как британцы (e.грамм. суммировать ) и американское (например, суммировать ) написание
варианты с разными названиями функций и опций. В этом уроке мы используем
американские варианты написания разных функций; однако не стесняйтесь использовать
региональный вариант для того места, где вы преподаете.

Что такое пакет R?

Пакет dplyr предоставляет простые инструменты для наиболее распространенных данных
пререкания задач. Он создан для работы напрямую с фреймами данных, со многими
общие задачи, оптимизированные за счет написания на компилируемом языке (C ++) (не все R
пакеты написаны на R!).

Пакет tidyr решает общую проблему желания изменить форму вашего
данные для построения и использования различными функциями R. Иногда нам нужны наборы данных
где у нас есть одна строка на измерение. Иногда нам нужен фрейм данных, в котором каждый
тип измерения имеет свой собственный столбец, а строки вместо этого более агрегированы
группы. Перемещение между этими форматами нетривиально, и
tidyr предоставляет инструменты для этой и более сложной обработки данных.

Но есть также пакеты для широкого круга задач, в том числе
участки под застройку ( ggplot2 , которые мы увидим позже), загрузка данных из
База данных NCBI или статистический анализ вашего набора данных. Много
пакеты, подобные этим, размещены и загружаются с
C всеобъемлющий R A архив N etwork (CRAN) с использованием установочных пакетов .
Эта функция делает пакет доступным для вашей установки R с
command library () , как вы делали с tidyverse ранее.

Чтобы легко получить доступ к документации пакета в R или RStudio, используйте
справка (package = "package_name") .

Чтобы узнать больше о dplyr и tidyr после СТО, возможно, Вам захочется
чтобы проверить это удобное преобразование данных с помощью шпаргалки по dplyr
а эта примерно тидыр .

Обучение

dplyr и tidyr

Чтобы убедиться, что все будут использовать один и тот же набор данных для этого урока, мы прочитаем
снова набор данных SAFI, который мы скачали ранее.

  ## загрузить тидиверс
библиотека (тидиверс)
библиотека (здесь)

интервью <- read_csv (здесь ("данные", "SAFI_clean.csv"), na = "NULL")

## проверить данные
интервью

## предварительный просмотр данных
# просмотр (интервью)
  

Мы собираемся изучить некоторые из наиболее распространенных функций dplyr :

  • select () : подмножество столбцов
  • filter () : подмножество строк при условиях
  • mutate () : создавать новые столбцы, используя информацию из других столбцов
  • group_by () и summarize () : создание сводной статистики по сгруппированным данным
  • организовать () : отсортировать результаты
  • счетчик () : счетчик дискретных значений

Выбор столбцов и фильтрация строк

Чтобы выбрать столбцы фрейма данных, используйте select () .Первый аргумент к этому
функция - это фрейм данных ( интервью, ), а последующие аргументы - это
сохраняемые столбцы, разделенные запятыми. В качестве альтернативы, если вы выбираете
столбцы, смежные друг с другом, вы можете использовать : для выбора диапазона столбцов,
читать как «выберите столбцы от __ до __ ».

  # для выбора столбцов во всем фрейме данных
выберите (интервью, деревня, no_membrs, months_lack_food)
# для выбора серии связанных столбцов
выберите (интервью, деревня: respdent_wall_type)
  

Чтобы выбрать строки на основе определенных критериев, мы можем использовать функцию filter () .Аргумент после фрейма данных - это условие, которое мы хотим окончательно
Фрейм данных, которого необходимо придерживаться (например, название деревни - Чиродзо):

  # фильтрует наблюдения, в которых деревня называется "Чиродзо"
фильтр (интервью, село == "Чиродзо")
  
  # Тибл: 39 × 14
   key_ID деревня дата интервью no_membrs years_liv респондент_волла… комнаты
          
 1 8 Чирод… 2016-11-16 00:00:00 12 70 жженых кирпичей 3
 2 9 Чирод… 2016-11-16 00:00:00 8 6 жженых кирпичей 1
 3 10 Чирод… 2016-12-16 00:00:00 12 23 жженого кирпича 5
 4 34 Чирод… 2016-11-17 00:00:00 8 18 жженых кирпичей 3
 5 35 Chirod… 2016-11-17 00:00:00 5 45 muddaub 1
 6 36 Chirod… 2016-11-17 00:00:00 6 23 солнечных кирпича 1
 7 37 Chirod… 2016-11-17 00:00:00 3 8 жженых кирпичей 1
 8 43 Chirod… 2016-11-17 00:00:00 7 29 muddaub 1
 9 44 Chirod… 2016-11-17 00:00:00 2 6 muddaub 1
10 45 Chirod… 2016-11-17 00:00:00 9 7 muddaub 1
#… С еще 29 строками и еще 7 переменными: members_assoc ,
# effect_conflicts , liv_count , items_owned , no_meals ,
# months_lack_food , instanceID 
  

Мы также можем указать несколько условий в функции filter () .Мы можем
объединить условия с помощью операторов «и» или «или». В "и"
утверждение, наблюдение (строка) должно соответствовать каждые критериев для включения
в итоговом кадре данных. Чтобы сформировать операторы «и» в dplyr, мы можем передать
наши желаемые условия в качестве аргументов в функции filter () , разделенные
запятые:

  # фильтрует наблюдения с помощью оператора "и" (запятая)
# выходной кадр данных удовлетворяет ВСЕМ указанным условиям
фильтр (интервью, село == "Чиродзо",
                   комнат> 1,
                   no_meals> 2)
  
  # Тибл: 10 × 14
   key_ID деревня дата интервью no_membrs years_liv респондент_волла… комнаты
          
 1 10 Чирод… 2016-12-16 00:00:00 12 23 жженого кирпича 5
 2 49 Чирод… 2016-11-16 00:00:00 6 26 жженых кирпичей 2
 3 52 Чирод… 2016-11-16 00:00:00 11 15 жженых кирпичей 3
 4 56 Чирод… 2016-11-16 00:00:00 12 23 жженого кирпича 2
 5 65 Чирод… 2016-11-16 00:00:00 8 20 жженых кирпичей 3
 6 66 Чирод… 2016-11-16 00:00:00 10 37 жженых кирпичей 3
 7 67 Чирод… 2016-11-16 00:00:00 5 31 жженый кирпич 2
 8 68 Чирод… 2016-11-16 00:00:00 8 52 жженого кирпича 3
 9 199 Чирод… 2017-06-04 00:00:00 7 17 жженых кирпичей 2
10 200 Чирод… 2017-06-04 00:00:00 8 20 жженых кирпичей 2
#… С еще 7 переменными: members_assoc  ,ffect_conflicts ,
# liv_count , items_owned , no_meals , months_lack_food ,
# instanceID 
  

Мы также можем формировать операторы «и» с помощью оператора и вместо запятых:

  # фильтрует наблюдения с помощью логического оператора "&"
# выходной кадр данных удовлетворяет ВСЕМ указанным условиям
фильтр (интервью, деревня == "Чиродзо" &
                   комнаты> 1 &
                   no_meals> 2)
  
  # Тибл: 10 × 14
   key_ID деревня дата интервью no_membrs years_liv респондент_волла… комнаты
          
 1 10 Чирод… 2016-12-16 00:00:00 12 23 жженого кирпича 5
 2 49 Чирод… 2016-11-16 00:00:00 6 26 жженых кирпичей 2
 3 52 Чирод… 2016-11-16 00:00:00 11 15 жженых кирпичей 3
 4 56 Чирод… 2016-11-16 00:00:00 12 23 жженого кирпича 2
 5 65 Чирод… 2016-11-16 00:00:00 8 20 жженых кирпичей 3
 6 66 Чирод… 2016-11-16 00:00:00 10 37 жженых кирпичей 3
 7 67 Чирод… 2016-11-16 00:00:00 5 31 жженый кирпич 2
 8 68 Чирод… 2016-11-16 00:00:00 8 52 жженого кирпича 3
 9 199 Чирод… 2017-06-04 00:00:00 7 17 жженых кирпичей 2
10 200 Чирод… 2017-06-04 00:00:00 8 20 жженых кирпичей 2
#… С еще 7 переменными: members_assoc  ,ffect_conflicts ,
# liv_count , items_owned , no_meals , months_lack_food ,
# instanceID 
  

В заявлении «или» наблюдения должны соответствовать по крайней мере одному из указанных условий.Чтобы сформировать операторы «или», мы используем логический оператор для «или», который представляет собой вертикальную черту (|):

  # фильтрует наблюдения с помощью "|" логический оператор
# выходной кадр данных удовлетворяет КАК МЕНЬШЕ ОДНОГО из указанных условий
фильтр (интервью, деревня == "Чиродзо" | деревня == "Руака")
  
  # Тибл: 88 × 14
   key_ID деревня дата интервью no_membrs years_liv респондент_волла… комнаты
          
 1 8 Чирод… 2016-11-16 00:00:00 12 70 жженых кирпичей 3
 2 9 Чирод… 2016-11-16 00:00:00 8 6 жженых кирпичей 1
 3 10 Чирод… 2016-12-16 00:00:00 12 23 жженого кирпича 5
 4 23 Руака 2016-11-21 00:00:00 10 20 жженых кирпичей 4
 5 24 Руака 2016-11-21 00:00:00 6 4 жженых кирпича 2
 6 25 Руака 2016-11-21 00:00:00 11 6 жженых кирпичей 3
 7 26 Руака 2016-11-21 00:00:00 3 20 жженых кирпичей 2
 8 27 Руака 2016-11-21 00:00:00 7 36 жженых кирпичей 2
 9 28 Руака 2016-11-21 00:00:00 2 2 Муддауб 1
10 29 Руака 2016-11-21 00:00:00 7 10 жженых кирпичей 2
#… С еще 78 строками и еще 7 переменными: members_assoc ,
# effect_conflicts , liv_count , items_owned , no_meals ,
# months_lack_food , instanceID 
  

Трубы

Что делать, если вы хотите одновременно выбирать и фильтровать? Есть три
способы сделать это: использовать промежуточные шаги, вложенные функции или каналы.

С промежуточными шагами вы создаете временный фрейм данных и используете
это как вход для следующей функции, например:

  интервью2 <- фильтр (интервью, село == "Чиродзо")
Интервьюс_ч <- выберите (интервью2, деревня: Respondent_wall_type)
  

Это читается, но может загромождать рабочее пространство множеством объектов, которые
надо называть индивидуально. С несколькими шагами, это может быть трудно удержать
след от.

Вы также можете вкладывать функции (т.е.е. одна функция внутри другой), например:

  интервью_ч <- выбрать (фильтр (интервью, село == "Чиродзо"),
                         деревня: Respondent_wall_type)
  

Это удобно, но может быть трудно читать, если слишком много функций вложено, так как
R оценивает выражение изнутри (в данном случае фильтрация, затем
выбор).

Последний вариант, трубы , является недавним дополнением к R. Pipes позволяет использовать
вывод одной функции и отправка ее непосредственно следующей, что полезно, когда
вам нужно сделать много вещей с одним и тем же набором данных.Трубы в R выглядят как %>% и
доступны через пакет magrittr , устанавливаемый автоматически с
дплр . Если вы используете RStudio, вы можете ввести канал с помощью:

  • Ctrl + Shift + M при наличии ПК или Cmd +
    Shift + M , если у вас Mac.
  интервью%>%
    фильтр (деревня == "Чиродзо")%>%
    выберите (деревня: Respondent_wall_type)
  
  # Тибл: 39 × 5
   деревня дата_интервью no_membrs years_liv respdent_wall_type
       
 1 Чиродзо 2016-11-16 00:00:00 12 70 жженых кирпичей
 2 Chirodzo 2016-11-16 00:00:00 8 6 жженых кирпичей
 3 Чиродзо 16-12-2016 00:00:00 12 23 жженых кирпича
 4 Chirodzo 2016-11-17 00:00:00 8 18 жженых кирпичей
 5 Чиродзо 17-11-2016 00:00:00 5 45 Муддауб
 6 Чиродзо 17.11.2016 00:00:00 6 23 солнечных кирпича
 7 Chirodzo 2016-11-17 00:00:00 3 8 жженых кирпичей
 8 Чиродзо 17-11-2016 00:00:00 7 29 Муддауб
 9 Чиродзо 17.11.2016 00:00:00 2 6 Муддауб
10 Чиродзо 17-11-2016 00:00:00 9 7 Муддауб
#… С еще 29 строками
  

В приведенном выше коде мы используем конвейер для отправки сначала набора данных интервью .
через фильтр () , чтобы сохранить строки, где деревня является «Чиродзо», затем через
select () , чтобы оставить только столбцы no_membrs и years_liv .Так как %>%
берет объект слева и передает его в качестве первого аргумента функции
справа нам не нужно явно включать фрейм данных в качестве аргумента
к фильтру () и выберите () функций больше.

Некоторым может быть полезно читать трубку как слово «тогда». Например,
в приведенном выше примере мы берем фрейм данных , интервью , , затем , мы фильтруем
для строк с деревней == "Chirodzo" , , затем мы выбираем столбцов no_membrs и
лет_лив .Сами по себе функции dplyr несколько просты,
но объединив их в линейные рабочие процессы с конвейером, мы можем достичь
более сложные операции обработки данных.

Если мы хотим создать новый объект с этой уменьшенной версией данных, мы
можно присвоить ему новое имя:

  интервью_ч <- интервью%>%
    фильтр (деревня == "Чиродзо")%>%
    выберите (деревня: Respondent_wall_type)

Interviews_ch
  
  # Тибл: 39 × 5
   деревня дата_интервью no_membrs years_liv respdent_wall_type
       
 1 Чиродзо 2016-11-16 00:00:00 12 70 жженых кирпичей
 2 Chirodzo 2016-11-16 00:00:00 8 6 жженых кирпичей
 3 Чиродзо 16-12-2016 00:00:00 12 23 жженых кирпича
 4 Chirodzo 2016-11-17 00:00:00 8 18 жженых кирпичей
 5 Чиродзо 17-11-2016 00:00:00 5 45 Муддауб
 6 Чиродзо 17.11.2016 00:00:00 6 23 солнечных кирпича
 7 Chirodzo 2016-11-17 00:00:00 3 8 жженых кирпичей
 8 Чиродзо 17-11-2016 00:00:00 7 29 Муддауб
 9 Чиродзо 17.11.2016 00:00:00 2 6 Муддауб
10 Чиродзо 17-11-2016 00:00:00 9 7 Муддауб
#… С еще 29 строками
  

Обратите внимание, что окончательный фрейм данных ( интервью_ch ) является самой левой частью этого
выражение.

Упражнение

Используя трубы, подмножество данных интервью , чтобы включить интервью
где респонденты были членами ирригационной ассоциации
( members_assoc ) и оставить только столбцы ffect_conflicts ,
liv_count и no_meals .

Решение

  интервью%>%
    фильтр (members_assoc == "да")%>%
    выберите (effect_conflicts, liv_count, no_meals)
  
  # Тибл: 33 × 3
   Effect_conflicts liv_count no_meals
     
 1 раз 3 2
 2 никогда 2 2
 3 никогда 2 3
 4 один раз 3 2
 5 часто 1 3
 6 more_once 5 2
 7 more_once 3 2
 8 more_once 2 3
 9 раз 3 3
10 никогда 3 3
#… С еще 23 строками
  

Мутировать

Часто возникает необходимость создавать новые столбцы на основе значений в существующих
столбцы, например, для преобразования единиц измерения или для определения соотношения значений в
две колонки.Для этого воспользуемся mutate () .

Нас может заинтересовать соотношение количества членов домохозяйства
на комнаты, используемые для сна (т.е. среднее количество человек в комнате):

  интервью%>%
    мутировать (people_per_room = no_membrs / rooms)
  
  # Тибл: 131 × 15
   key_ID деревня дата интервью no_membrs years_liv респондент_волла… комнаты
          
 1 1 Бог 2016-11-17 00:00:00 3 4 muddaub 1
 2 1 Бог 2016-11-17 00:00:00 7 9 muddaub 1
 3 3 Бог 2016-11-17 00:00:00 10 15 кирпичей жженых 1
 4 4 Бог 2016-11-17 00:00:00 7 6 жженых кирпичей 1
 5 5 Бог 2016-11-17 00:00:00 7 40 жженых кирпичей 1
 6 6 Бог 2016-11-17 00:00:00 3 3 muddaub 1
 7 7 Бог 2016-11-17 00:00:00 6 38 muddaub 1
 8 8 Чирод… 2016-11-16 00:00:00 12 70 жженых кирпичей 3
 9 9 Чирод… 2016-11-16 00:00:00 8 6 жженых кирпичей 1
10 10 Чирод… 2016-12-16 00:00:00 12 23 жженого кирпича 5
#… Со 121 строкой и еще 8 переменными: members_assoc ,
# effect_conflicts , liv_count , items_owned , no_meals ,
# months_lack_food , instanceID , people_per_room 
  

Нам может быть интересно узнать, является ли
ирригационная ассоциация оказала какое-либо влияние на соотношение членов домохозяйства
в комнаты.Чтобы посмотреть на эту взаимосвязь, мы сначала удалим
данные из нашего набора данных, где респондент не ответил на
вопрос о том, были ли они членами ассоциации по ирригации.
Эти случаи записываются в наборе данных как «NULL».

Чтобы удалить эти случаи, мы могли бы вставить фильтр () в цепочку:

  интервью%>%
    фильтр (! is.na (members_assoc))%>%
    мутировать (people_per_room = no_membrs / rooms)
  
  # Тибл: 92 × 15
   key_ID деревня дата интервью no_membrs years_liv респондент_волла… комнаты
          
 1 1 Бог 2016-11-17 00:00:00 7 9 muddaub 1
 2 7 Бог 2016-11-17 00:00:00 6 38 muddaub 1
 3 8 Чирод… 2016-11-16 00:00:00 12 70 жженых кирпичей 3
 4 9 Чирод… 2016-11-16 00:00:00 8 6 жженых кирпичей 1
 5 10 Чирод… 2016-12-16 00:00:00 12 23 жженого кирпича 5
 6 12 Бог 21.11.2016 00:00:00 7 20 жженых кирпичей 3
 7 13 Бог 21.11.2016 00:00:00 6 8 жженых кирпичей 1
 8 15 Бог 21.11.2016 00:00:00 5 30 солнечных кирпичей 2
 9 21 Бог 21.11.2016 00:00:00 8 20 жженых кирпичей 1
10 24 Руака 2016-11-21 00:00:00 6 4 жженых кирпича 2
#… С еще 82 строками и еще 8 переменными: members_assoc ,
# effect_conflicts , liv_count , items_owned , no_meals ,
# months_lack_food , instanceID , people_per_room 
  

Модель ! Символ отрицает результат .na () функция. Таким образом, если - это .na ()
возвращает значение ИСТИНА (потому что members_assoc отсутствует), ! символ
отрицает это и говорит, что нам нужны только значения FALSE , где members_assoc -
не
отсутствует.

Упражнение

Создайте новый фрейм данных из данных интервью , который отвечает следующим требованиям:
критерии: содержит только столбец села и новый столбец с именем
total_meals , содержащий значение, равное общему количеству приемов пищи.
обслуживались в домашнем хозяйстве в среднем в день ( no_membrs раз no_meals ).В таблице должны отображаться только строки, в которых значение total_meals больше 20.
окончательный фрейм данных.

Подсказка : подумайте о том, как следует упорядочить команды для получения этих данных
Рамка!

Решение

  интервью_total_meals <- интервью%>%
    мутировать (total_meals = no_membrs * no_meals)%>%
    фильтр (total_meals> 20)%>%
    выберите (деревня, total_meals)
  

Анализ данных разделить-применить-объединить и функция summarize ()

Ко многим задачам анализа данных можно подойти с помощью split-apply-comb
парадигма: разбейте данные на группы, примените некоторый анализ к каждой группе и
затем объедините результаты. dplyr делает это очень просто за счет использования
функция group_by () .

Функция

summarize ()

group_by () часто используется вместе с summarize () , каждая из которых сворачивается
сгруппируйте в однострочную сводку этой группы. group_by () принимает в качестве аргументов
имена столбцов, которые содержат категориальных переменных , для которых вы хотите
для расчета сводной статистики.Итак, чтобы вычислить средний размер домохозяйства,
деревня:

  интервью%>%
    group_by (деревня)%>%
    суммировать (mean_no_membrs = mean (no_membrs))
  
  # Тибл: 3 × 2
  деревня mean_no_membrs
   
1 Чиродзо 7.08
2 Бог 6,86
3 Руака 7,57
  

Вы также могли заметить, что выходные данные этих вызовов не выходят за пределы
экран больше. Это одно из преимуществ tbl_df над dataframe.

Вы также можете группировать по нескольким столбцам:

  интервью%>%
    group_by (деревня, members_assoc)%>%
    суммировать (mean_no_membrs = mean (no_membrs))
  
  `summarize ()` сгруппировал выходные данные по 'деревне'. Вы можете переопределить, используя аргумент .groups.
  
  # Тибл: 9 × 3
# Группы: деревня [3]
  деревня members_assoc mean_no_membrs
    
1 Чиродзо № 8.06
2 Чиродзо да 7,82
3 Чиродзо  5.08
4 Бог нет 7.13
5 Бог да 8
6 Бог  6
7 Ruaca № 7.18
8 Руака да 9,5
9 Руака  6,22
  

Обратите внимание, что вывод представляет собой сгруппированный тиббл. Чтобы получить разгруппированную таблицу, используйте
разгруппировать функция:

  интервью%>%
    group_by (деревня, members_assoc)%>%
    суммировать (mean_no_membrs = mean (no_membrs))%>%
    разгруппировать ()
  
  `summarize ()` сгруппировал выходные данные по 'деревне'.Вы можете переопределить, используя аргумент .groups.
  
  # Тибл: 9 × 3
  деревня members_assoc mean_no_membrs
    
1 Чиродзо № 8.06
2 Чиродзо да 7,82
3 Чиродзо  5.08
4 Бог нет 7.13
5 Бог да 8
6 Бог  6
7 Ruaca № 7.18
8 Руака да 9,5
9 Руака  6.22
  

При группировке по деревням и membersr_assoc , мы видим строки в нашей таблице для
респонденты, которые не указали, были ли они в составе оросительной
ассоциация. Мы можем исключить эти данные из нашей таблицы, используя шаг фильтра.

  интервью%>%
    фильтр (! is.na (members_assoc))%>%
    group_by (деревня, members_assoc)%>%
    суммировать (mean_no_membrs = mean (no_membrs))
  
  `summarize ()` сгруппировал выходные данные по 'деревне'.Вы можете переопределить, используя аргумент .groups.
  
  # Тибл: 6 × 3
# Группы: деревня [3]
  деревня members_assoc mean_no_membrs
    
1 Чиродзо № 8.06
2 Чиродзо да 7,82
3 Бог нет 7.13
4 Бог да 8
5 Ruaca № 7.18
6 Руака да 9,5
  

После того, как данные сгруппированы, вы также можете суммировать несколько переменных одновременно.
время (и не обязательно по той же переменной).Например, мы могли бы добавить
столбец с указанием минимального размера домохозяйства для каждой деревни для каждой группы
(члены ирригационной ассоциации против нет):

  интервью%>%
    фильтр (! is.na (members_assoc))%>%
    group_by (деревня, members_assoc)%>%
    суммировать (mean_no_membrs = mean (no_membrs),
              min_membrs = min (no_membrs))
  
  `summarize ()` сгруппировал выходные данные по 'деревне'. Вы можете переопределить, используя аргумент .groups.
  
  # Тибл: 6 × 4
# Группы: деревня [3]
  деревня members_assoc mean_no_membrs min_membrs
     
1 Чиродзо № 8.06 4
2 Чиродзо да 7,82 2
3 Бог нет 7.13 3
4 Бог да 8 5
5 Ruaca no 7.18 2
6 Руака да 9,5 5
  

Иногда бывает полезно изменить порядок результатов запроса, чтобы проверить значения.
Например, мы можем отсортировать по min_membrs , чтобы поместить группу с наименьшим
сначала домохозяйства:

  интервью%>%
    фильтр (! есть.на (мембранный_ссок))%>%
    group_by (деревня, members_assoc)%>%
    суммировать (mean_no_membrs = mean (no_membrs),
              min_membrs = min (no_membrs))%>%
    аранжировать (min_membrs)
  
  `summarize ()` сгруппировал выходные данные по 'деревне'. Вы можете переопределить, используя аргумент .groups.
  
  # Тибл: 6 × 4
# Группы: деревня [3]
  деревня members_assoc mean_no_membrs min_membrs
     
1 Чиродзо да 7.82 2
2 Ruaca no 7.18 2
3 Бог нет 7.13 3
4 Чиродзо № 8.06 4
5 Бог да 8 5
6 Руака да 9,5 5
  

Для сортировки в порядке убывания нам нужно добавить функцию desc () . Если мы хотим
отсортируйте результаты в порядке убывания минимального размера домохозяйства:

  интервью%>%
    фильтр (! is.na (members_assoc))%>%
    group_by (деревня, members_assoc)%>%
    суммировать (mean_no_membrs = mean (no_membrs),
              min_membrs = min (no_membrs))%>%
    аранжировать (desc (min_membrs))
  
  `summarize ()` сгруппировал выходные данные по 'деревне'.Вы можете переопределить, используя аргумент .groups.
  
  # Тибл: 6 × 4
# Группы: деревня [3]
  деревня members_assoc mean_no_membrs min_membrs
     
1 Бог да 8 5
2 Руака да 9,5 5
3 Чиродзо № 8.06 4
4 Бог нет 7.13 3
5 Чиродзо да 7,82 2
6 Ruaca no 7.18 2
  
Подсчет

При работе с данными мы часто хотим знать количество найденных наблюдений.
для каждого фактора или комбинации факторов. Для этой задачи dplyr предоставляет
счетчик () . Например, если мы хотим подсчитать количество строк данных для
в каждой деревне мы бы сделали:

  интервью%>%
    граф (деревня)
  
  # Тибл: 3 × 2
  деревня п
   
1 Чиродзо 39
2 Бог 43
3 Ruaca 49
  

Для удобства count () предоставляет аргумент sort для получения результатов в
в порядке убывания:

  интервью%>%
    count (деревня, sort = ИСТИНА)
  
  # Тибл: 3 × 2
  деревня п
   
1 Ruaca 49
2 Бог 43
3 Чиродзо 39
  

Упражнение

Сколько домохозяйств в опросе имеют в среднем
двухразовое питание? Трехразовое питание? Есть ли другие номера
представленных блюд?

Решение

  интервью%>%
   count (no_meals)
  
  # Тибл: 2 × 2
  no_meals n
      
1 2 52
2 3 79
  

Используйте group_by () и summarize () , чтобы найти среднее, минимальное и максимальное
количество членов домохозяйства для каждого села.Также добавьте количество
наблюдения (подсказка: см. ? n ).

Решение

  интервью%>%
  group_by (деревня)%>%
  суммировать(
      mean_no_membrs = среднее (no_membrs),
      min_no_membrs = min (no_membrs),
      max_no_membrs = макс (no_membrs),
      п = п ()
  )
  
  # Тибл: 3 × 5
  деревня mean_no_membrs min_no_membrs max_no_membrs n
      
1 Чиродзо 7.08 2 12 39
2 Бог 6,86 3 15 43
3 Руака 7,57 2 19 49
  

Какое самое большое домохозяйство опрашивалось каждый месяц?

Решение

  # если еще не добавлено, добавьте столбцы месяца, года и дня
library (lubridate) # загрузить lubridate, если он еще не загружен
  
 
Присоединяемый пакет: 'lubridate'
  
  Следующие объекты замаскированы из package: base:

    дата, пересечение, setdiff, объединение
  
  интервью%>%
    мутировать (месяц = ​​месяц (дата_интервью),
           day = день (дата_интервью),
           год = год (дата_интервью))%>%
    group_by (год, месяц)%>%
    суммировать (max_no_membrs = max (no_membrs))
  
  `summarize ()` сгруппировал выходные данные по годам '.Вы можете переопределить, используя аргумент .groups.
  
  # Тибл: 5 × 3
# Группы: год [2]
   год месяц max_no_membrs
    
1 2016 11 19
2 2016 12 12
3 2017 4 17
4 2017 5 15
5 2017 6 15
  

Изменение формы с помощью pivot_wider () и pivot_longer ()

По сути, существует три правила, которые определяют «аккуратный» набор данных:

  1. Каждая переменная имеет свой столбец
  2. Каждое наблюдение имеет свою строку
  3. Каждое значение должно иметь свою ячейку

В этом разделе мы рассмотрим, как эти правила связаны с различными
часто интересуют исследователей форматы данных: «широкий» и «длинный».Этот
учебник поможет вам эффективно преобразовать форму данных независимо от
исходный формат. Сначала мы исследуем качества интервью данных и
как они соотносятся с этими различными типами форматов данных.

Длинный и широкий форматы данных

В данных интервью каждая строка содержит значения переменных, связанных
с каждой собранной записью (каждое интервью в деревнях), где указано
что key_ID был «добавлен для предоставления уникального идентификатора для каждого наблюдения»
и instance_ID «тоже делает это, но использовать его не так удобно.”

Однако при некотором рассмотрении мы замечаем, что в
набор данных с тем же key_ID (как показано ниже). Однако экземпляр instanceID s
связанные с этими повторяющимися key_ID s не совпадают. Таким образом, мы должны
Считайте instanceID уникальным идентификатором для наблюдений!

  интервью%>%
  выберите (идентификатор_ключа, деревня, дата_интервью, идентификатор_экземпляра)
  
  # Тибл: 131 × 4
   key_ID деревня интервью_дата instanceID
       
 1 1 Бог 2016-11-17 00:00:00 uuid: ec241f2c-0609-46ed-b5e8-fe575f6cefef
 2 1 Бог 2016-11-17 00:00:00 uuid: 099de9c9-3e5e-427b-8452-26250e840d6e
 3 3 Бог 2016-11-17 00:00:00 uuid: 193d7daf-9582-409b-bf09-027dd36f9007
 4 4 Бог 2016-11-17 00:00:00 uuid: 148d1105-778a-4755-aa71-281eadd4a973
 5 5 Бог 2016-11-17 00:00:00 uuid: 2c867811-9696-4966-9866-f35c3e97d02d
 6 6 Бог 17.11.2016 00:00:00 uuid: daa56c91-c8e3-44c3-a663-af6a49a2ca70
 7 7 Бог 17.11.2016 00:00:00 uuid: ae20a58d-56f4-43d7-bafa-e7963d850844
 8 8 Чиродзо 2016-11-16 00:00:00 uuid: d6cee930-7be1-4fd9-88c0-82a08f90fb5a
 9 9 Чиродзо 2016-11-16 00:00:00 uuid: 846103d2-b1db-4055-b502-9cd510bb7b37
10 10 Чиродзо 16.12.2016 00:00:00 uuid: 8f4e49bc-da81-4356-ae34-e0d794a23721
#… С дополнительной 121 строкой
  

Как видно из приведенного ниже кода, для каждой даты интервью в каждой деревне нет
instanceID совпадают.Таким образом, этот формат называется «длинными» данными.
формат, в котором каждое наблюдение занимает только одну строку во фрейме данных.

  интервью%>%
  фильтр (деревня == "Чиродзо")%>%
  выберите (идентификатор_ключа, деревня, дата_интервью, идентификатор_экземпляра)%>%
  sample_n (размер = 10)
  
  # Тибл: 10 × 4
   key_ID деревня интервью_дата instanceID
       
 1 50 Чиродзо 2016-11-16 00:00:00 uuid: 4267c33c-53a7-46d9-8bd6-b96f58a4f92c
 2 62 Чиродзо 16-11-2016 00:00:00 uuid: c6597ecc-cc2a-4c35-a6dc-e62c71b345d6
 3 48 Чиродзо 2016-11-16 00:00:00 uuid: e180899c-7614-49eb-a97c-40ed013a38a2
 4127 Чиродзо 2016-11-16 00:00:00 uuid: f6d04b41-b539-4e00-868a-0f62b427587d
 5 45 Чиродзо 17.11.2016 00:00:00 uuid: e3554d22-35b1-4fb9-b386-dd5866ad5792
 6 67 Чиродзо 2016-11-16 00:00:00 uuid: 6c15d667-2860-47e3-a5e7-7f679271e419
 7 60 Чиродзо 2016-11-16 00:00:00 uuid: 85465caf-23e4-4283-bb72-a0ef30e30176
 8 59 Чиродзо 2016-11-16 00:00:00 uuid: 1936db62-5732-45dc-98ff-9b3ac7a22518
 9 58 Чиродзо 2016-11-16 00:00:00 uuid: a7a3451f-cd0d-4027-82d9-8dcd1234fcca
10 61 Чиродзо 2016-11-16 00:00:00 uuid: 2401cf50-8859-44d9-bd14-1bf66f2
  

Мы замечаем, что макет или формат данных интервью имеет формат, который
придерживается правил 1-3, где

  • каждый столбец является переменной
  • каждая строка представляет собой наблюдение
  • каждое значение имеет свою ячейку

Это называется «длинным» форматом данных.Но мы замечаем, что каждый столбец представляет
другая переменная. В самом «длинном» формате данных было бы всего три
столбцы, один для переменной id, один для наблюдаемой переменной и один для
наблюдаемое значение (этой переменной). Этот формат данных довольно неприглядный
и с ним сложно работать, поэтому вы редко увидите его в использовании.

В качестве альтернативы, в «широком» формате данных мы видим изменения в правиле 1, где
каждый столбец больше не представляет одну переменную. Вместо этого столбцы могут
представляют разные уровни / значения переменной.Например, в некоторых данных вы
встречи, которую исследователи, возможно, выбрали для каждого опроса, чтобы
другой столбец.

Это может показаться совершенно разным макетом данных, но есть некоторые
инструменты, которые делают переходы между этими макетами намного проще, чем вы могли бы
считать! На гифке ниже показано, как эти два формата соотносятся друг с другом, и
дает вам представление о том, как мы можем использовать R для перехода от одного формата к другому.

Макеты длинных и широких фреймов данных в основном влияют на удобочитаемость.Вы можете обнаружить, что
визуально вы можете предпочесть «широкий» формат, так как вы можете видеть больше данных на
экран. Однако все функции R, которые мы использовали до сих пор, ожидают
ваши данные должны быть в «длинном» формате данных. Это потому, что длинный формат больше
машиночитаемый и ближе к форматированию баз данных.

Вопросы, требующие различных форматов данных

В интервью каждая строка содержит значения переменных, связанных с каждым
запись (единица), такие значения, как деревня респондента, число
членов домохозяйства или тип стены в их доме.Этот формат позволяет
чтобы мы могли сравнивать результаты отдельных опросов, но что, если бы мы хотели
посмотреть на различия в домохозяйствах, сгруппированных по разным типам жилья
строительные материалы?

Чтобы облегчить это сравнение, нам нужно создать новую таблицу, в которой каждая строка
(единица измерения) состояла из значений переменных, связанных с материалом корпуса.
(например, Respondent_wall_type ). На практике это означает значения
стеновые строительные материалы в Respondent_wall_type (эл.грамм. муддауб
обожженные кирпичи, цемент, солнечные кирпичи) станут именами переменных столбцов и
ячейки будут содержать значения ИСТИНА или ЛОЖЬ , независимо от того, был ли в этом доме
стена из этого материала.

После того, как мы создали эту новую таблицу, мы можем изучить взаимосвязь внутри и
между деревнями. Ключевым моментом здесь является то, что мы по-прежнему следим за аккуратными данными.
структура, но у нас есть видоизмененный данные по наблюдениям
интерес.

В качестве альтернативы, если даты интервью были распределены по нескольким столбцам, и
нам было интересно визуализировать в каждой деревне, как орошение
конфликты со временем изменились.Это потребует от даты собеседования
включаться в один столбец, а не распределяться по нескольким столбцам. Таким образом,
нам нужно будет преобразовать имена столбцов в значения переменной.

Мы можем сделать оба этих преобразования с помощью двух функций tidyr ,
pivot_wider () и pivot_longer () .

Поворотный шире

pivot_wider () принимает три основных аргумента:

  1. данные
  2. переменная столбца names_from , значения которой станут новыми именами столбцов.
  3. переменная столбца values_from , значения которой заполнят новый столбец
    переменные.

Дополнительные аргументы включают values_fill , который, если установлен, заполняет отсутствующие значения
с предоставленным значением.

Давайте используем pivot_wider () , чтобы преобразовать интервью, чтобы создать новые столбцы для каждого
вид материала стенового строительства. Мы будем использовать оператор трубы как
сделали раньше. Поскольку оба параметра names_from и values_from
должен исходить из значений столбца, мы создадим фиктивный столбец (назовем его
wall_type_logical ) для хранения значения ИСТИНА , которое мы затем поместим в
соответствующий столбец, соответствующий материалу конструкции стены для этого
ответчик.При использовании mutate () , если вы указываете одно значение, оно будет использоваться
для всех наблюдений в наборе данных.

Для каждой строки в нашей новой сводной таблице только один из вновь созданных типов стен.
столбцы будут иметь значение ИСТИНА , так как каждый дом может состоять только из одного
настенного типа. Значение по умолчанию, которое pivot_wider использует для заполнения другой стены.
типы NA .

Если вместо значения по умолчанию NA , мы хотели бы, чтобы эти значения были FALSE ,
мы можем вставить значение по умолчанию в аргумент values_fill .Включая
values_fill = list (wall_type_logical = FALSE) внутри pivot_wider () , мы можем
заполните оставшуюся часть столбцов типа стены для этой строки значением FALSE .

  интервью по всему миру <- интервью%>%
    mutate (wall_type_logical = TRUE)%>%
    pivot_wider (names_from = Respondent_wall_type,
                values_from = wall_type_logical,
                values_fill = список (wall_type_logical = FALSE))
  

Просмотрите фрейм данных интервью по всему миру и обратите внимание, что больше нет
столбец под названием Respondent_wall_type .Это потому, что по умолчанию
параметр в pivot_wider () , который удаляет исходный столбец. Ценности, которые
были в этой колонке теперь стали колоннами под названием muddaub , обожженных кирпичей ,
солнечного кирпича и цемента . Вы можете использовать dim (интервью) и
dim (intervals_wide) , чтобы увидеть, как количество столбцов изменилось между
два набора данных.

Удлиненный поворотный

Противоположная ситуация могла бы возникнуть, если бы нам были предоставлены данные в форме
из интервью_wide , где строительные материалы являются названиями столбцов, но мы
вместо этого хотите рассматривать их как значения переменной respdent_wall_type .

В этой ситуации мы собираем эти колонны, превращая их в пару
новых переменных. Одна переменная включает имена столбцов в качестве значений, а
другая переменная содержит значения в каждой ячейке, ранее связанной с
имена столбцов. Мы сделаем это в два этапа, чтобы сделать этот процесс более понятным.

pivot_longer () принимает четыре основных аргумента:

  1. данные
  2. cols - это имена столбцов, которые мы используем для заполнения новой переменной значений.
    (или уронить).
  3. переменная столбца names_to , которую мы хотим создать из предоставленных столбцов .
  4. переменная столбца values_to , которую мы хотим создать и заполнить значениями
    связанные с cols предоставлены.

Чтобы воссоздать наш исходный фрейм данных, мы будем использовать следующее:

  1. данных - интервью по всему миру
  2. список из столбцов (столбцов), которые необходимо изменить; они могут быть указаны
    используя : , если столбцы, которые нужно изменить, находятся в одной области фрейма данных,
    или с помощью векторной команды ( c () ), если столбцы разбросаны по
    фрейм данных.
  3. столбец names_to будет символьной строкой имени столбца
    эти столбцы будут свернуты в («Respondent_wall_type»).
  4. столбец от значений до будет символьной строкой имени
    столбец, в который будут вставлены значения свернутых столбцов
    («Wall_type_logical»). Этот столбец будет заполнен значениями
    ИСТИНА или ЛОЖЬ .
  интервью_длинное <- интервью_всемирное%>%
    pivot_longer (cols = обожженные кирпичи: солнечные кирпичи,
                 names_to = "Respondent_wall_type",
                 values_to = "wall_type_logical")
  

Это создает фрейм данных с 262 строками (4 строки на
интервью с респондентом).Четыре строки для каждого респондента отличаются только
значение столбцов «Respondent_wall_type» и «wall_type_logical». Посмотреть
данные, чтобы увидеть, как это выглядит.

Только одна строка для каждого респондента является информативной - мы знаем, что если
стены дома сделаны из «солнечного кирпича» они не сделаны ни из какого другого
материалы. Следовательно, имеет смысл отфильтровать наш набор данных, чтобы сохранить только
значения, где wall_type_logical - ИСТИНА . Поскольку wall_type_logical - это
уже либо ИСТИНА или ЛОЖЬ , при передаче имени столбца в filter () ,
он автоматически сохранит только те строки, в которых этот столбец имеет значение
ИСТИНА .Затем мы можем удалить столбец wall_type_logical .

Мы выполняем все эти шаги вместе в следующем фрагменте кода:

  интервью_длинное <--_всемирное_интервью%>%
    pivot_longer (cols = c (жженые кирпичи, цемент, грязь, солнечные кирпичи),
                 names_to = "Respondent_wall_type",
                 values_to = "wall_type_logical")%>%
    фильтр (wall_type_logical)%>%
    выберите (-wall_type_logical)
  

Просмотрите интервью_длинный и интервью_широкий и сравните их структуру.

Применение

pivot_wider () для очистки наших данных

Теперь, когда мы узнали о pivot_longer () и pivot_wider () , мы собираемся
использовать эти функции, чтобы исправить проблему с тем, как наши данные
структурированный. На уроке, посвященном таблицам, мы узнали, что лучше всего
иметь только один фрагмент информации в каждой ячейке вашей электронной таблицы. В
этого набора данных, у нас есть несколько столбцов, которые содержат несколько частей
Информация.Например, столбец items_owned содержит информацию о
были ли у наших респондентов холодильник, телевизор и т. д.
легче анализировать, мы разделим этот столбец и создадим новый столбец для каждого
элемент. Каждая ячейка в этом столбце будет иметь значение ИСТИНА или ЛОЖНО и будет
указать, владел ли этот респондент этот предмет (аналогично тому, что
мы делали это ранее с wall_type ).

  интервью_items_owned <- интервью%>%
  some_rows (items_owned, sep = ";")%>%
  replace_na (список (items_owned = "no_listed_items"))%>%
  mutate (items_owned_logical = TRUE)%>%
    pivot_wider (names_from = items_owned,
                values_from = items_owned_logical,
                values_fill = список (items_owned_logical = FALSE))

nrow (интервью_items_owned)
  

В этом фрагменте кода есть несколько новых концепций, поэтому давайте рассмотрим его.
построчно.Сначала мы создаем новый объект ( intervals_items_owned ) на основе
интервью dataframe.

  интервью_items_owned <- интервью%>%
  

Затем мы используем новую функцию own_rows () из пакета tidyr , чтобы
разделите значения items_owned на основе наличия точек с запятой (; ).
Значения этой переменной были несколькими элементами, разделенными точкой с запятой, поэтому
это действие создает строку для каждого предмета, находящегося во владении домохозяйства.Таким образом, мы получаем длинную версию набора данных с несколькими строками.
для каждого респондента. Например, если у респондента есть телевизор и солнечная
панель, у этого респондента теперь будет две строки: одна с «телевизором» и
другие с «солнечной панелью» в столбце items_owned .

  отдельных строк (items_owned, sep = ";")%>%
  

Вы можете заметить, что одна из колонок называется ´NA´ . Это потому, что некоторые
респондентов не владели ни одним из предметов, которые были у интервьюера
список.Мы можем использовать функцию replace_na () , чтобы изменить эти значения NA на
что-то более значимое. Функция replace_na () ожидает, что вы предоставите
это список () столбцов, в которых вы хотите заменить значения NA ,
и значение, которое вы хотели бы заменить NA s. Это заканчивается поиском
как это:

  replace_na (список (items_owned = "no_listed_items"))%>%
  

Затем мы создаем новую переменную с именем items_owned_logical , которая имеет одно значение
( ИСТИНА ) для каждой строки.Это имеет смысл, поскольку каждый элемент в каждой строке принадлежал
этой семьей. Мы конструируем эту переменную так, чтобы при распространении
items_owned в нескольких столбцах, мы можем заполнить значения этих столбцов
с логическими значениями, описывающими, выполнило ли домохозяйство ( ИСТИНА ) или нет
( FALSE ) владеют этим конкретным элементом.

  изменить (items_owned_logical = TRUE)%>%
  

Наконец, мы используем pivot_wider () для переключения с длинного формата на широкий.Этот
создает новый столбец для каждого уникального значения в столбце items_owned ,
и заполняет эти столбцы значениями items_owned_logical . Мы тоже
заявляем, что для недостающих элементов мы хотим заполнить эти ячейки
значение FALSE вместо NA .

  pivot_wider (names_from = items_owned,
            values_from = items_owned_logical,
            values_fill = список (items_owned_logical = FALSE))
  

Просмотрите фрейм данных интервью_items_owned .Он должен иметь
131 строка (то же количество строк, что и у вас изначально), но
дополнительные столбцы для каждого элемента. Сколько столбцов было добавлено?

Этот формат данных позволяет нам делать интересные вещи, например составлять таблицу.
с указанием количества респондентов в каждой деревне, которые владели тем или иным предметом:

  интервью_items_owned%>%
  фильтр (велосипед)%>%
  group_by (деревня)%>%
  считать (велосипед)
  
  # Тибл: 3 × 3
# Группы: деревня [3]
  деревенский велосипед n
    
1 Чиродзо ИСТИНА 17
2 Бог ИСТИНА 23
3 Руака ИСТИНА 20
  

Или ниже рассчитываем среднее количество пунктов из списка, принадлежащего
респонденты в каждом селе.Этот код использует функцию rowSums () для подсчета
количество ИСТИНА значений в столбцах bike от до car для каждой строки,
отсюда и его название. Затем мы группируем данные по деревням и вычисляем среднее
количество предметов, поэтому каждое среднее значение сгруппировано по деревне.

  интервью_items_owned%>%
    mutate (number_items = rowSums (выберите (., велосипед: автомобиль)))%>%
    group_by (деревня)%>%
    суммировать (mean_items = mean (number_items))
  
  # Тибл: 3 × 2
  деревня mean_items
   
1 Чиродзо 4.62
2 Бог 4.07
3 Ruaca 5.63
  

Упражнение

  1. Создайте новый фрейм данных (с именем intervals_months_lack_food ), который имеет один
    столбец для каждого месяца и записывает ИСТИНА или ЛОЖНО для каждого интервью
    респонденту не хватало еды в тот месяц.

Решение

  интервью_months_lack_food <- интервью%>%
  some_rows (months_lack_food, sep = ";")%>%
  mutate (months_lack_food_logical = TRUE)%>%
  pivot_wider (names_from = months_lack_food,
              values_from = months_lack_food_logical,
              values_fill = list (months_lack_food_logical = FALSE))
  
  1. Сколько месяцев (в среднем) респонденты были без еды, если
    они действительно принадлежали к ирригационной ассоциации? Что, если бы они этого не сделали?

Решение

  интервью_months_lack_food%>%
  mutate (number_months = rowSums (выберите (., Янв: май)))%>%
  group_by (member_assoc)%>%
  суммировать (среднее_месяцев = среднее (число_месяцев))
  
  # Тибл: 3 × 2
  members_assoc mean_months
   
1 нет 2
2 да 2.30
3  2,82
  

Экспорт данных

Теперь, когда вы узнали, как использовать dplyr для извлечения информации из
или обобщите свои необработанные данные, вы можете экспортировать эти новые наборы данных, чтобы поделиться
их с вашими соавторами или для архивирования.

Подобно функции read_csv () , используемой для чтения файлов CSV в R, есть
функция write_csv () , которая генерирует файлы CSV из фреймов данных.

Перед использованием write_csv () , мы собираемся создать новую папку, data_output ,
в нашем рабочем каталоге, в котором будет храниться этот сгенерированный набор данных. Мы не хотим
для записи сгенерированных наборов данных в тот же каталог, что и наши необработанные данные. Это хорошо
старайтесь держать их отдельно. Папка data должна содержать только необработанные,
неизменные данные, и их следует оставить в покое, чтобы убедиться, что мы не удалим и не изменим
Это.Напротив, наш скрипт сгенерирует содержимое data_output
каталог, поэтому, даже если файлы, которые он содержит, будут удалены, мы всегда можем
воссоздайте их.

При подготовке к следующему уроку черчения мы собираемся создать версию
набора данных, где каждый столбец включает только одно значение данных. Делать
для этого мы будем использовать pivot_wider , чтобы развернуть months_lack_food и
шт. В собственности столбцов. Мы также создадим пару сводных столбцов.

  интервью_плоттинг <- интервью%>%
  ## pivot шире на items_owned
  some_rows (items_owned, sep = ";")%>%
  ## если в списке не было ни одного элемента, изменение NA на no_listed_items
  replace_na (список (items_owned = "no_listed_items"))%>%
  mutate (items_owned_logical = TRUE)%>%
  pivot_wider (names_from = items_owned,
              values_from = items_owned_logical,
              values_fill = list (items_owned_logical = FALSE))%>%
  ## развернуть шире на months_lack_food
  some_rows (months_lack_food, sep = ";")%>%
  mutate (months_lack_food_logical = TRUE)%>%
  pivot_wider (names_from = months_lack_food,
              values_from = months_lack_food_logical,
              values_fill = list (months_lack_food_logical = FALSE))%>%
  ## добавить несколько итоговых столбцов
  mutate (number_months_lack_food = rowSums (выберите (., Янв: май)))%>%
  mutate (number_items = rowSums (выберите (., велосипед: автомобиль)))
  

Теперь мы можем сохранить этот фрейм данных в наш каталог data_output .

  write_csv (Interviews_plotting, file = "data_output / intervals_plotting.csv")
  

Ключевые моменты

  • Используйте пакет dplyr для управления фреймами данных.

  • Используйте select () для выбора переменных из фрейма данных.

  • Используйте фильтр () для выбора данных на основе значений.

  • Используйте group_by () и summarize () для работы с подмножествами данных.

  • Используйте mutate () для создания новых переменных.

  • Используйте пакет tidyr для изменения макета фреймов данных.

  • Используйте pivot_wider () для перехода от длинного к широкому формату.

  • Используйте pivot_longer () для перехода от широкого к длинному формату.

интересных способов выбора столбцов фрейма данных Pandas | Кейси Уортон

Пример данных

Если вы хотите использовать данные, которые я использовал для тестирования этих методов выбора столбцов из фрейма данных pandas, используйте приведенный ниже фрагмент кода, чтобы загрузить набор данных Wine в вашу среду IDE или записную книжку.

 из sklearn.datasets import load_wine 
import pandas as pd
import numpy as np
import reX = load_wine ()
df = pd.DataFrame (X.data, columns = X.feature_names) df.head ()

Скриншот автора набора данных Wine в записной книжке Jupyter

Теперь, в зависимости от того, что вы хотите сделать, просмотрите каждый из приведенных ниже фрагментов кода и попробуйте для себя!

Выбор столбцов на основе их имени

Это самый простой способ выбрать один столбец из фрейма данных, просто поместите строковое имя столбца в скобки. Возвращает серию панд.

 df ['оттенок'] 

Передача списка в скобках позволяет выбрать несколько столбцов одновременно.

 df [['cohol ',' hue ']] 

Выбор подмножества столбцов в списке

Аналогично предыдущему примеру, но здесь вы можете выполнять поиск по всем столбцам во фрейме данных.

 df [df.columns [df.columns.isin (['spirit', 'hue', 'NON-EXISTANT COLUMN'])]] 

Выбор подмножества столбцов на основе разницы столбцов

Допустим, вы знать, какие столбцы не нужны в фрейме данных. Передайте их в виде списка методу difference , и вы вернете все, кроме них.

 df [df.columns.difference (['cohol ',' hue '])] 

Выбор подмножества столбцов, отсутствующих в списке

Вернуть фрейм данных, столбцы которого отсутствуют в списке, который вы хотите поискать.

 df [df.columns [~ df.columns.isin (['cohol ',' hue '])]] 

Выбор столбцов на основе их типа данных

Типы данных включают' float64 'и' object 'и являются выводится из столбцов, переданных методу dtypes . Сопоставляя столбцы с одним и тем же типом данных, вы получите серию True / False.Используйте метод values ​​, чтобы получить только значения True / False, а не индекс.

 df.loc [:, (df.dtypes == 'float64'). Values] 

Выбор столбцов на основе их имени столбца, содержащего подстроку

Если у вас есть тонны столбцов во фрейме данных и их имена столбцов все есть похожая подстрока, которая вас интересует, вы можете вернуть столбцы, имена которых содержат подстроку. Здесь нам нужно все, что содержит подстроку «al».

 df.loc [:, ['al' в i вместо i в df.columns]] 

Выбор столбцов на основе имени столбца, содержащего подстановочный знак строки

У вас могут быть сотни столбцов, поэтому имеет смысл найти столбцы, соответствующие шаблону. Поиск имен столбцов, соответствующих подстановочному знаку, можно выполнить с помощью функции «search» из пакета re (см. Ссылку в справочном разделе для получения дополнительных сведений об использовании пакета регулярных выражений).

 df.loc [:, [Истина, если re.search ('flava +', column), иначе Ложь для столбца в df.columns]] 

Выбор столбцов в зависимости от того, как начинается их имя

Если вы хотите выбрать столбцы с именами, которые начинаются с определенной строки, вы можете использовать метод начинается с и передать его в место столбцов для фрейма данных место нахождения.

 df.loc [:, df.columns.str.startswith ('al')] 

Выбор столбцов в зависимости от того, как заканчивается их имя

То же, что и в последнем примере, но поиск столбцов с именами, заканчивающимися определенным образом .

 df.loc [:, df.columns.str.endswith ('oids')] 

Выбор столбцов, если все строки соответствуют условию

Вы можете выбрать столбцы, если строки соответствуют условию. Здесь, если все значения в столбце больше 14, мы возвращаем столбец из фрейма данных.

 df.loc [:, [(df [col]> 14) .all () для столбца в df.columns]] 

Выбор столбцов, если какая-либо строка столбца соответствует условию

Здесь, если любой из значения в столбце больше 14, мы возвращаем столбец из фрейма данных.

Добавить комментарий

Ваш адрес email не будет опубликован.