Архив автора: admin

Как построить данные в Pandas Python

Визуализация данных играет важную роль в анализе данных. Pandas — это мощная библиотека анализа данных на Python для науки о данных. Он предоставляет различные варианты визуализации данных с помощью метода .plot(). Даже если вы новичок, вы можете легко построить график своих данных с помощью библиотеки Pandas. Вам необходимо импортировать пакеты pandas и matplotlib.pyplot для визуализации данных.

В этой статье мы рассмотрим различные методы построения графиков данных с помощью Python Pandas. Мы выполнили все примеры в редакторе исходного кода pycharm с помощью пакета matplotlib.pyplot.

 

Построение в Pandas Python

В Pandas.plot() имеет несколько параметров, которые вы можете использовать в зависимости от ваших потребностей. В основном, используя параметр «kind», вы можете определить, какой тип графика вы будете создавать.

 

Синтаксис для построения данных с использованием Pandas Python

Следующий синтаксис используется для построения DataFrame в Pandas Python:

# Импорт pandas и matplotlib.pyplot

import pandas as pd

import matplotlib.pyplot as plt

# Подготовка данных для создания DataFrame

data_frame = {

'Column1': ['field1', 'field2', 'field3', 'field4',...],

‘Column2': ['field1', 'field2', 'field3', 'field4',...]

}

var_df= pd.DataFrame(data_frame, columns=['Column1', 'Column2])

print(Variable)

# построение гистограммы

var_df.plot.bar(x='Column1', y='Column2')

plt.show()

 

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

var_df.plot(x='Column1', y='Column2', kind=’bar’)

 

Объекты Pandas DataFrames имеют следующие методы построения графиков:

  • Точечный график : plot.scatter()
  • Построение столбцов : plot.bar(), plot.barh(), где h представляет собой график горизонтальных столбцов.
  • Линейный график : plot.line()
  • Построение пирога: plot.pie()

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

Теперь мы подробно остановимся на некоторых основных типах построения графиков с помощью некоторых примеров.

 

Точечная диаграмма в Pandas

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

 

Пример

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

import matplotlib.pyplot as plt

import pandas as pd

gdp_cal= pd.DataFrame({

'GDP_growth': [6.1, 5.8, 5.7, 5.7, 5.8, 5.6, 5.5, 5.3, 5.2, 5.2],

'Oil_Price': [1500, 1520, 1525, 1523, 1515, 1540, 1545, 1560, 1555, 1565]

})

df = pd.DataFrame(gdp_cal, columns=['Oil_Price', 'GDP_growth'])

print(df)

df.plot(x='Oil_Price', y='GDP_growth', kind = 'scatter', color= 'red')

plt.show()

Как построить данные в Pandas Python

 

Построение линейных диаграмм в Pandas

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

 

Пример

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

import pandas as pd

import matplotlib.pyplot as pltinfl_cal = {'Year': [2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011],

'Infl_Rate': [5.8, 10, 7, 6.7, 6.8, 6, 5.5, 8.2, 8.5, 9, 10]

}

data_frame = pd.DataFrame(infl_cal, columns=['Year', 'Infl_Rate'])

data_frame.plot(x='Year', y='Infl_Rate', kind='line')

plt.show()




 

В приведенном выше примере вам нужно установить kind = ‘line’ для построения линейного графика.

 

Метод 2 # Использование метода plot.line()

Приведенный выше пример вы также можете реализовать с помощью следующего метода:

import pandas as pd

import matplotlib.pyplot as pltinf_cal = {'Year': [2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011],

'Inflation_Rate': [5.8, 10, 7, 6.7, 6.8, 6, 5.5, 8.2, 8.5, 9, 10]

}

data_frame = pd.DataFrame(inf_cal, columns=['Inflation_Rate'], index=[2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011])

data_frame.plot.line()



plt.title('Inflation Rate Summary of Past 11 Years')

plt.ylabel('Inflation_Rate')

plt.xlabel('Year')

plt.show()




После выполнения вышеуказанного кода отобразится следующий линейный график:

Как построить данные в Pandas Python

 

Построение гистограмм в Pandas

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

 

Пример

В следующем примере мы взяли уровень грамотности в нескольких странах. DataFrames создаются, в которых «Country_Names» и «literacy_Rate» являются двумя столбцами DataFrame. Используя Pandas, вы можете отобразить информацию в форме гистограммы следующим образом:

import pandas as pd

import matplotlib.pyplot as pltlit_cal = {

'Country_Names': ['Pakistan', 'USA', 'China', 'India', 'UK', 'Austria', 'Egypt', 'Ukraine', 'Saudia', 'Australia',

'Malaysia'],

'litr_Rate': [5.8, 10, 7, 6.7, 6.8, 6, 5.5, 8.2, 8.5, 9, 10]

}

data_frame = pd.DataFrame(lit_cal, columns=['Country_Names', 'litr_Rate'])

print(data_frame)

data_frame.plot.bar(x='Country_Names', y='litr_Rate')

plt.show()




Как построить данные в Pandas Python

 

Вы также можете реализовать приведенный выше пример, используя следующий метод. Установите kind = ‘bar’ для построения гистограммы в этой строке:

data_frame.plot(x='Country_Names', y='litr_Rate', kind='bar')

plt.show()

Построение горизонтальной гистограммы в Pandas

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

import matplotlib.pyplot as plt

import pandas as pddata_chart = {'litr_Rate': [5.8, 10, 7, 6.7, 6.8, 6, 5.5, 8.2, 8.5, 9, 10]}

df = pd.DataFrame(data_chart, columns=['litr_Rate'], index=['Pakistan', 'USA', 'China', 'India', 'UK', 'Austria', 'Egypt', 'Ukraine', 'Saudia', 'Australia',

'Malaysia'])



df.plot.barh()



plt.title('Literacy Rate in Various Countries')

plt.ylabel('Country_Names')

plt.xlabel('litr_Rate')

plt.show()




В df.plot.barh() полоса используется для горизонтального построения. После выполнения вышеуказанного кода в окне отображается следующая гистограмма:

Как построить данные в Pandas Python

 

Построение круговой диаграммы в Pandas

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

 

Пример

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

import pandas as pd

import matplotlib.pyplot as pltmaterial_per = {'Earth_Part': [71,18,7,4]}

dataframe = pd.DataFrame(material_per,columns=['Earth_Part'],index = ['Water','Mineral','Sand','Metals'])



dataframe.plot.pie(y='Earth_Part',figsize=(7, 7),autopct='%1.1f%%', startangle=90)

plt.show()




Приведенный выше исходный код строит круговую диаграмму доступных данных:

Как построить данные в Pandas Python

 

Вывод

В этой статье вы увидели, как построить DataFrames в Python Pandas. В статье выше выполняются разные виды построения. Для построения других типов, таких как box, hexbin, hist, kde, density, area и т. д., Вы можете использовать тот же исходный код, просто изменив тип графика.



2021-03-03T18:53:10
Python

Как установить и настроить Git в Fedora?

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

 

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

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

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

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

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

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

 

Что мы будем освещать?

В этой статье мы увидим, как установить и настроить Git в ОС Fedora 33. Мы установим Git из официального репозитория Fedora, а также из исходного кода, загруженного с официального сайта Git. Приступим к процессу установки Git.

 

Метод 1. Установка Git из репозиториев Fedora с помощью dnf/yum

Это очень простой метод установки Git. Вам просто нужно выполнить следующие команды:

Шаг 1. Обновите доступные системные пакеты с помощью следующей команды:

$ sudo dnf -y update

 

Шаг 2. Теперь установите git с помощью следующей команды:

$ sudo dnf -y install git

 

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

$ git --version

Вот и все! Как видите, Git уже установлен в Fedora 33, но если это не так, вы можете установить его с помощью приведенной выше команды.

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

$ sudo dnf  -y remove git

Метод 2. Сборка Git из исходного кода на Fedora

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

Шаг 1. Git требует, чтобы было установлено несколько пакетов, прежде чем мы сможем установить его из исходного кода. Выполните следующую команду, чтобы установить эти зависимости:

$ sudo dnf install dh-autoreconf curl-devel expat-devel gettext-devel openssl-devel perl-devel zlib-devel

Шаг 2. Когда у нас есть все необходимые зависимости, мы можем перейти к загрузке исходного кода. Выполните следующую команду, чтобы загрузить сжатый архив исходного кода Git:

$ wget https://www.kernel.org/pub/software/scm/git/git-2.30.1.tar.gz

Кроме того, вы также можете перейти по ссылке: http://git-scm.com/download/linux и вручную загрузить файл в свою систему.

Шаг 3. Извлеките загруженный tar-файл с помощью следующей команды:

$ tar -zxf git-2.30.1.tar.gz

Шаг 4. Теперь перейдите в извлеченную папку в окне командной строки:

$ cd git-2.30.1

Шаг 5. Выполните команду make:

$ make configure

Шаг 6. Запустите сценарий конфигурации:

$ ./configure --prefix=/usr

Шаг 7. Запустите команду make all:

$ сделать все

Шаг 8. Запустите команду make install:

$ sudo make install

Теперь Git установлен в вашей системе. Проверьте версию отсюда:

$ git --version

Настройка параметров Git в Fedora

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

Примечание
Имя пользователя Git отличается от имени пользователя GitHub.

 

Чтобы установить эти данные, выполните следующие команды:

$ git config --global user.name "your-username"

$ git config --global user.email "your@emailID"

Здесь замените «your-username» на имя пользователя по вашему выбору, а «your@emailID» — на свой идентификатор электронной почты. Ключевое слово global позволит использовать эту информацию при каждом изменении в вашей системе. Если вы хотите использовать другую информацию для проекта, просто удалите ключевое слово global, когда вы находитесь внутри этого конкретного проекта.

Давайте добавим образец имени пользователя и адреса электронной почты как:

User-name = andreyex

User-email = mail@me.com

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

$ git config --list

Вывод

Поздравляем, вы успешно установили Git на свою ОС Fedora. Если вы правильно следовали этому руководству, вы заметили, что метод 1 очень прост для установки Git. Вам нужно всего лишь запустить простую команду, чтобы получить Git в вашей системе. Между тем, метод 2 — это долгий путь для установки Git, и он рекомендуется только опытным пользователям и системным администраторам. Преимущество использования этого метода в том, что вы можете получить последнюю доступную версию. Например, в методе 1 версия Git, установленная из официального репозитория, — 2.28.0, а в методе 2 — версия 2.30.1.



2021-03-03T18:36:33
Fedora

🐧 Как заблокировать и разблокировать несколько пользователей Linux

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

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

Что такое команда passwd?

Команда passwd – одна из наиболее часто используемых администратором Linux команд для обновления токенов аутентификации пользователей в файле /etc/shadow путем вызова Linux-PAM и Libuser API.

Создание скрипта shell

Мы создадим следующие три скрипта bash для одновременной блокировки и разблокировки нескольких учетных записей.

  • Cкрипт для блокировки пользователей
  • Cкрипт для проверки статуса заблокированных или разблокированных пользователей
  • Cкрипт для разблокировки пользователей

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

Каждый пользователь должен быть в отдельной строке.

SSH Port forwarding

SSH позволяет не только осуществлять подключение к командной строке, он также позволяет пробрасывать порты, это называется Port forwarding.





Читать далее…

Как настроить автоматический перезапуск nginx/apache/mysql на UBUNTU 18.04/20.04 LTS в случае падения

Как автоматически перезапустить сервис в Ubuntu на примере UBUNU 18.04/20.04 LTS при помощи ежеминутной проверки через CRON^




Открываем плаинровщик крон при помощи следующей команды:




crontab -e




Далее вписываем следующую строку в конец файла заданий для проверки и перезапуска apache




#Ежеминутно проверяем работу apache2, если не работает -- перезапускаем
 * * * * ps -A | grep apache2 > /dev/null 2>&1 || /etc/init.d/apache2 restart > /dev/null 2>&1 




Для проверки и перезапуска nginx следующую строку:




Ежеминутно проверяем работу nginx, если не работает -- перезапускаем
 * * * * ps -A | grep nginx > /dev/null 2>&1 || /etc/init.d/nginx restart > /dev/null 2>&1 




Для проверки работы и перезапуска mysql/mariadb:




Ежеминутно проверяем работу MySQL, если не работает -- перезапускаем
 * * * *       /etc/init.d/mysql status >> /var/log/mysql/mysql_status_check.log || /etc/init.d/mysql restart  > /var/log/mysql/restart_by_cron_date '+log_%Y.%m.%d_%H:%M:%S'.log



2021-03-01T02:08:54
Настройка web сервера

Как разбить строки в Python

В этой статье объясняется, как разделить строки в Python с помощью методов «split()» и «partition()». Эти методы особенно полезны, если вы хотите преобразовать предложение или группу слов в анализируемые и повторяемые типы Python. Все примеры кода в этой статье протестированы на Python версии 3.8.6.

 

Метод разделения

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

Например, приведенный ниже код вернет в качестве вывода «[‘Linux’, ‘Ex’]»:

text = "Linux Ex"

text.split()

 

Приведенный ниже код вернет «[‘AndreyEx’, ‘ru’]» в качестве вывода, когда «.» используется как разделитель:

text = "AndreyEx.ru"

text.split(“.”)

 

Разделитель не обязательно должен состоять из одного символа. Метод split принимает два аргумента:

  • sep: разделитель, который будет использоваться для разделения
  • maxsplit: количество делений, которое нужно сделать

Оба эти аргумента необязательны. Как упоминалось выше, если аргумент «sep» не указан, пробел используется в качестве разделителя для разделения. Аргумент «maxsplit» имеет значение по умолчанию «-1» и по умолчанию разбивает все вхождения. Рассмотрим код ниже:

text = "AndreyEx.co.us"

text.split(“.”)

 

В качестве вывода он вернет «[‘AndreyEx’, ‘co’, ‘us’]». Если вы хотите остановить разделение при первом появлении разделителя, укажите «1» в качестве аргумента «maxsplit».

text = "AndreyEx.co.us"

text.split(“.”, 1)

 

Приведенный выше код вернет в качестве вывода «[‘AndreyEx’, ‘co.us’]». Просто укажите количество вхождений, когда вы хотите, чтобы процесс разделения остановился, в качестве второго аргумента.

Обратите внимание, что если есть последовательные разделители, для остальных разделителей после первого разделения будет возвращена пустая строка (когда аргумент «maxsplit» не используется):

text = "AndreyEx.ru"

text.split(".")

 

Приведенный выше код вернет «[‘AndreyEx’,», ‘ru’] »в качестве вывода. Если вы хотите удалить пустые строки из результирующего списка, вы можете использовать следующий оператор понимания списка:

text = "AndreyEx.ru"

result = text.split(".")

result = [item for item in result if item != ""]

print (result)

 

Вы получите «[‘AndreyEx’, ‘ru’]» в качестве вывода после выполнения приведенного выше примера кода.

Обратите внимание, что метод split() перемещается слева направо для разделения строк на слова. Если вы хотите разделить строку справа налево, используйте вместо этого «rsplit()». Его синтаксис, использование и аргументы точно такие же, как у метода split().

Если при использовании методов «split()» или «rsplit()» в строке не обнаружен разделитель, исходная строка возвращается как единственный элемент списка.

 

Метод разделения

Метод partition() может использоваться для разделения строк, и он работает идентично методу split() с некоторыми отличиями. Наиболее заметное отличие состоит в том, что он сохраняет разделитель и включает его как элемент в результирующий кортеж, содержащий разделенные слова. Это особенно полезно, если вы хотите разделить строку на повторяющийся объект (в данном случае кортеж), не удаляя исходные символы. Рассмотрим код ниже:

text = "AndreyEx.ru"

result = text.partition(".")

print (result)

 

Приведенный выше пример кода вернет «(‘AndreyEx’, ‘.’, ‘ru’)» в качестве вывода. Если вы хотите, чтобы результат был типа списка, используйте вместо этого следующий пример кода:

text = "AndreyEx.ru"

result = list(text.partition("."))

print (result)

 

Вы должны получить «[‘AndreyEx’, ‘.’, ‘ru’]» в качестве вывода после выполнения приведенного выше примера кода.

Метод partition() принимает только один аргумент, называемый sep. Пользователи могут указать разделитель любой длины. В отличие от метода split(), этот аргумент является обязательным, поэтому вы не можете пропустить разделитель. Однако вы можете указать пробел в качестве разделителя.

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

text = "AndreyEx.co.us"

result = list(text.partition("."))

print (result)

 

Пример кода выдаст в качестве вывода «[‘AndreyEx’, ‘.’, ‘Co.us’]». Если вы хотите разделить все вхождения разделителя и включить разделитель в окончательный список, возможно, вам придется использовать шаблон «Регулярное выражение» или «Регулярное выражение». В примере, упомянутом выше, вы можете использовать шаблон RegEx следующим образом:

import re

text = "AndreyEx.co.us"

result = re.split("(.)", text)

print (result)

 

Вы получите «[‘AndreyEx’, ‘.’, ‘Co’, ‘.’, ‘Us’]» в качестве вывода после выполнения приведенного выше примера кода. Точка была экранирована в операторе RegEx, упомянутом выше. Обратите внимание, что хотя приведенный выше пример работает с одним символом точки, он может не работать со сложными разделителями и сложными строками. Возможно, вам придется определить свой собственный шаблон RegEx в зависимости от вашего варианта использования. Пример приведен здесь, чтобы дать вам некоторое представление о процессе сохранения разделителя в окончательном списке с помощью операторов RegEx.

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

text = "AndreyEx"

result = list(text.partition("."))

result = [item for item in result if item != ""]

print (result)

 

После выполнения приведенного выше кода вы должны получить в качестве вывода «[‘AndreyEx’]».

 

Вывод

Для простых и понятных разделений вы можете использовать методы «split()» и «partition()», чтобы получить повторяющиеся типы. Для сложных строк и разделителей вам нужно будет использовать операторы RegEx.



2021-02-25T12:04:32
Python